Initialize Community 4.0 without IIS
Introduction
Sometimes you want to initialize EPiServer Community without involving the IIS. For example when you decide not to use IIS for servicing your web pages or when you want to do unit testing.
Command line program
I've therefore created a little command line program that does this. It initializes Community (and also search) and fetches the first blog post made (ID = 1). You can then use this code as a base for doing your own programs that need access to the Community API.
To use it just compile it and place it amongs a web.config (for a community site) and a connectionstrings.config along with every dll the web.config wants plus the dll's the project needs.
Download
InitializeCommunityCommandLine
References
Thanks to Kristoffer @ dev for giving me the inspiration and the file this program was heavily based on!
Thank you Thomas, this was exactly what I was looking for!
Very cool Tobias. ;-) This is a much smoother way than the hack including reflection that was needed in Community 3.x.
Nice post Tobias!
This code seems only to handle single site installations. It crashes when Initialize(null) is called on SiteMappingConfiguration if episerver.config contains multiple sites. To solve this i just changed the following
//before
new SiteMappingConfiguration().Initialize(null);
SiteMappingConfiguration.Instance.SiteId = "MyRelateSite";
//after
SiteMappingConfiguration.CurrentHostNameResolver = delegate { return "local.myrelatesite.com"; };
new SiteMappingConfiguration().Initialize(null);