Example #1
0
        public void CreateControllerCreatesAndReturnsANewInstanceEachRequest()
        {
            var factory = new MefControllerFactory {
                Container = Container
            };

            Assert.AreNotSame(factory.CreateController(null, "EditorController"), factory.CreateController(null, "EditorController"));
        }
Example #2
0
        public void CreateControllerReturnsNullWhenNotAController()
        {
            var instance = new MefControllerFactory {
                Container = Container
            }.CreateController(null, "IDatabaseFactory");

            Assert.IsNull(instance);
        }
Example #3
0
        public void CreateControllerReturnsNullWhenNoInstanceExists()
        {
            var instance = new MefControllerFactory {
                Container = Container
            }.CreateController(null, "NonexistentController");

            Assert.IsNull(instance);
        }
Example #4
0
        public void CreateControllerCreatesAndReturnsAnInstanceOfTheRequestedController()
        {
            var instance = new MefControllerFactory {
                Container = Container
            }.CreateController(null, "EditorController");

            Assert.IsNotNull(instance);
            Assert.IsInstanceOfType(instance, typeof(EditorController));
        }
Example #5
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            var catalog = new AggregateCatalog();

            catalog.Catalogs.Add(new AssemblyCatalog(Assembly.GetExecutingAssembly()));


            CompositionContainer container = MEFLoader.Init(catalog.Catalogs);

            ObjectBase.Container = container;
            IControllerFactory mefControllerFactory = new MefControllerFactory(container);

            ControllerBuilder.Current.SetControllerFactory(mefControllerFactory);
        }