private void FireContainerInitialized(HttpApplication instance, DefaultMonoRailContainer container) { var events = instance as IMonoRailContainerEvents; if (events != null) { events.Initialized(container); } }
/// <summary> /// Creates the default service container. /// </summary> /// <param name="userServiceProvider">The user service provider.</param> /// <param name="appInstance">The app instance.</param> /// <returns></returns> protected virtual IMonoRailContainer CreateDefaultMonoRailContainer(IServiceProviderEx userServiceProvider, HttpApplication appInstance) { var container = new DefaultMonoRailContainer(userServiceProvider); container.UseServicesFromParent(); container.InstallPrimordialServices(); container.Configure(Configuration); FireContainerCreated(appInstance, container); // Too dependent on Http and MR surroundings services to be moved to Container class if (!container.HasService<IServerUtility>()) { container.AddService<IServerUtility>(new ServerUtilityAdapter(appInstance.Context.Server)); } if (!container.HasService<IRoutingEngine>()) { container.AddService<IRoutingEngine>(RoutingModuleEx.Engine); } container.InstallMissingServices(); container.StartExtensionManager(); FireContainerInitialized(appInstance, container); return container; }
void FireContainerInitialized( HttpApplication instance, DefaultMonoRailContainer container ) { ExecuteContainerEvent( instance.GetType().GetMethod( "MonoRail_ContainerInitialized" ), instance, container ); }
private void FireContainerCreated(HttpApplication instance, DefaultMonoRailContainer container) { IMonoRailContainerEvents events = instance as IMonoRailContainerEvents; if (events != null) { events.Created(container); } }
static void ExecuteContainerEvent( MethodInfo eventMethod, HttpApplication instance, DefaultMonoRailContainer container ) { if ( eventMethod != null ) { if ( eventMethod.IsStatic ) { eventMethod.Invoke( null, new object[] { container } ); } else { eventMethod.Invoke( instance, new object[] { container } ); } } }