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);
        }
Beispiel #2
0
        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();
        }