using the new framework. Also moved PersistableMacroProperty to new assembly (it was also marked as internal).
Updated unit tests to work with Resolution and resetting resolvers.
this gives us more control over all Resolvers and streamlines them. Created IBootManager, CoreBootManager and WebBootManager
to handle the application initialization including the creation of Resolvers. This means that if people are using the dlls outside
of the web app, they can run the boot strappers to initialize everything.
we have to instantiate them all on startup which means that all type searching happens on startup and not lazily which
is bad for performance. I don't think its a big deal that we're not freezing these objects, MVC doesn't freeze its singletons
and nobody seems to have a problem with it, people will just know not to modify these items after startup.
Have removed ResolverBase as we cannot rely on manually setting the current singleton object since applications outside of the standard umbraco web application
might be using these singletons and would expect they already be setup. Have changed all current resolvers to manage their
own singleton instances and sealed them.
and are just adding the known resolvers on app startup and commented out the other resolver stuff for now.
Fixed up xpath statement for resolving the first document, site now renders :)
added initial trace logging to application startup which works. Changed the application startup handler
to use new logging, now the system won't bork if the sql db isn't initialized.
Updated MacroEngineFactory to use PluginTypeResolver and made it thread safe. Have also
updated it to only create one instance of each IMacroEngine per application which should
increase performance a teeny bit, plus that's how it should be.
our singleton is a getter/setter and field access is thread safe. Updated SingleResolverBase
to ensure that TResolved is a class so the null check works properly.
already found. Have added some notes to some classes that need to be fixed up. Removed the PluginTypeResolver
from the ApplicationContext since it is a utility and isn't exposing application objects.
Updated ApplicationStartupHandler to use it and to not register on the static method, the real method is now
used and is called on app startup (much cleaner). Added tests for PluginTypeResolver. Added events to
UmbracoApplication and virtual methods for developers to override.
and changes had not been committed properly.
Fixed up some resolver classes to ensure the generic type is a class so == null works properly.
Changed to internal until we decide to expose.
unit test helper classes. Changed calls from old TypeFinder to new TypeFinder2. Created benchmark unit
tests to test speed differences between them.
Fixes: 30946 - IOHelper with HttpContext issue
Fixes: 30945 - AppCodeFileExtensions issue with UmbracoSettings
that it it is upgraded it releases its writelock on dispose. Fixes up RouteLookups to have
correct locking. Fixes up library to resolve the NiceUrlResolver using the UmbracoContext.Current
singleton acessor.