public override void Init(System.Web.HttpApplication app) { base.Init(app); var applicationContext = WebApplicationContext.GetRootContext() as AbstractApplicationContext; if (applicationContext == null) { throw new InvalidOperationException("WebSupportModule can work only with instance of AbstractApplicationContext."); } if (ModularApplicationContextAlreadyInitialized(applicationContext)) { return; } var ctx = new ModularApplicationContext(); foreach (var module in new AppDirectoryModuleLocator().GetModules()) { ctx.AddModule(module); } ctx.Initialize(applicationContext); }
static void Main(string[] args) { var ctx = new ModularApplicationContext(); foreach (var module in new AppDirectoryModuleLocator().GetModules()) { ctx.AddModule(module); } ctx.Initialize(); var objects = ctx.Container.GetObjectsOfType(typeof (ISystemTime)); if (objects.Count == 0) { throw new SystemException("ISystemTime component not properly registered"); } foreach (var time in objects.Values.Cast<ISystemTime>()) { Console.Out.WriteLine(time.GetType().FullName + " time is: " + time.GetCurrentTime()); } Console.Out.WriteLine("press return to continue"); Console.In.ReadLine(); }