Created new CacheHelper which replaces the old Cache class and is accessible via the UmbracoContext.
Added new CachedPartial extension method to be able to cache the output of your partials (also by page and by member)
Added mew CacheHelperApplicationEventListener in order to automatically clear the partials cache when content is published, media or members is saved.
Adding a static ServiceFactory class for easy access to the various services in a non-singleton way.
Adding a Resolver for MacroPropertyTypes.
Updating the CoreBootManager and PluginManager to include the MacroPropertyTypeResolver.
Adding DatabaseContext hooked up to UmbracoContext and initialized through the CoreBootManager.
Adding constant for ConnectionString name in GlobalSettings.
2 '?' the internals of ASP.net actually force a secondary internal request which causes BeginRequest to fire but doesn't follow the normal
chain of the module. It was a bug with our code having two query strings, however its pretty strange behavior on their part!
Have removed UmbracoContext.ClientUrl since it is not necessary to have. Have renamed UmbracoContext.UmbracoUrl = CleanedUmbracoUrl and UmbracoContext.RequextUrl = OriginalRequestUrl
Have moved the route processing logic to a static method on PublishedContentRequest which auto assigns the request back to the UmbracoContext, plus this is a cleaner
way to do the processing, including allowing us to unit test this one aspect.
Lastly, we are now rewriting the path back to the original URL in the RenderRouteHandler so that in MVC controllers the HttpContext.Request actually
reflects the URL that the client requested, not the rewritten URL (we do this in webforms too)
Adding extension method to get all properties for interfaces in PetaPoco used for mapping.
Creating ServiceContext and adding it to the UmbracoContext to provide access to the various services.
Adding UmbracoContext to BaseDatabaseFactory test.