public void ResetState() { _Configuration = null; _MonoRailContainer = null; _UrlTokenizer = null; _EngineContextFactory = null; _ServiceProviderLocator = null; _ControllerFactory = null; _ControllerContextFactory = null; _StaticResourceRegistry = null; }
void PerformOneTimeInitializationIfNecessary(HttpContext context) { _Locker.AcquireReaderLock(-1); if (_MonoRailContainer != null) { _Locker.ReleaseReaderLock(); } else { _Locker.UpgradeToWriterLock(-1); if (_MonoRailContainer != null) { _Locker.ReleaseWriterLock(); } else { try { if (_Configuration == null) { _Configuration = ObtainConfiguration(context.ApplicationInstance); } IServiceProviderEx userServiceProvider = _ServiceProviderLocator.LocateProvider(); _MonoRailContainer = CreateDefaultMonoRailContainer( userServiceProvider, context.ApplicationInstance); } finally { _Locker.ReleaseWriterLock(); } } } }
void PerformOneTimeInitializationIfNecessary( HttpContext context ) { _Locker.AcquireReaderLock( -1 ); if ( _MonoRailContainer != null ) { _Locker.ReleaseReaderLock(); } else { _Locker.UpgradeToWriterLock( -1 ); if ( _MonoRailContainer != null ) { _Locker.ReleaseWriterLock(); } else { try { if ( _Configuration == null ) { _Configuration = ObtainConfiguration( context.ApplicationInstance ); } IServiceProviderEx userServiceProvider = _ServiceProviderLocator.LocateProvider(); _MonoRailContainer = CreateDefaultMonoRailContainer( userServiceProvider, context.ApplicationInstance ); } finally { _Locker.ReleaseWriterLock(); } } } }