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.
Have updated the web.config to use the new HttpModule but the XPath statement that is generated
for the LookupByPath doesn't seem to be matching my root node. But everything else is actually working!
this starts making a bunch of sense. Have empty ctor's on all ILookups since their methods get passed a
DocumentRequest object which has access to all of the context's and properties that they will ever need.