Exemple #1
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            ControllerBuilder.Current.SetControllerFactory(new MFControllerFactory());

            AggregateCatalog aggregateCatalog = new AggregateCatalog();

            aggregateCatalog.Catalogs.Add(new DirectoryCatalog(AppDomain.CurrentDomain.SetupInformation.PrivateBinPath));
            MefDependencyResolver res = new MefDependencyResolver(new DisposableWrapperCatalog(aggregateCatalog, true));

            DependencyResolver.SetResolver(res);

            //dbconfig DatabaseInitializer Initialize
            var dbNameList = WebConfigHelper.GetDBNames();

            foreach (var dbName in dbNameList)
            {
                string initializerName = "{0}.DatabaseInitializer".ReplaceArg(dbName);
                Type   type            = ReflectionHelper.GetTypeBy(dbName, initializerName);
                if (type == null)
                {
                    continue;
                }
                type.InvokeMember("Initialize", System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Static
                                  | System.Reflection.BindingFlags.Public, null, null,
                                  new object[] { });
            }

            //MiniProfilerEF6.Initialize();
            //MF_Base.DatabaseInitializer.Initialize();
        }
        public static void Register(HttpConfiguration config)
        {
            // Web-API-Konfiguration und -Dienste
            // Web-API für die ausschließliche Verwendung von Trägertokenauthentifizierung konfigurieren.
            config.SuppressDefaultHostAuthentication();
            config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));

            var cors = new EnableCorsAttribute("*", "*", "*");

            config.EnableCors(cors);

            // Web-API-Routen
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );
            dependencyResolver = new MefDependencyResolver(
                new MefCatalogBuilder()
                .Assembly <Startup>()
                .Assembly <Sowatech.TestAnwendung.Dal.EntityFrameworkContext>()
                .Assembly <Sowatech.TestAnwendung.Dom.ObjectWithIntId>()
                .Build()
                );
            config.DependencyResolver = dependencyResolver;
            WebApiApplication.logger  = dependencyResolver.Logger;
        }
Exemple #3
0
        public void MefDependencyResolver_Resolves_Registered_ContactRepository_Test()
        {
            var resolver = MefDependencyResolver.CreateWithDefaultConventions(new[] { Assembly.GetAssembly(typeof(IContactRepository)) });

            var instance = resolver.GetService(typeof(IContactRepository));

            instance.ShouldNotBeNull();
        }
Exemple #4
0
        public static void RegisterMef()
        {
            var builder     = RegisterExports();
            var resolver    = DependencyResolver.Current;
            var newResolver = new MefDependencyResolver(builder, resolver);

            DependencyResolver.SetResolver(newResolver);
        }
Exemple #5
0
        public void MefDependencyResolver_Resolves_Registered_Both_Instaces_Of_IContactRepository_Test()
        {
            var resolver = MefDependencyResolver.CreateWithDefaultConventions(new[] { Assembly.GetAssembly(typeof(IContactRepository)) });

            var repositories = resolver.GetServices(typeof(IContactRepository));

            repositories.Count().ShouldEqual(2);
        }
Exemple #6
0
        public void MefDependencyResolver_DoesNot_Resolve_NonRegistered_ContactRepository_Test()
        {
            var resolver = MefDependencyResolver.CreateWithDefaultConventions(new Assembly[0]);

            var instance = resolver.GetService(typeof(IContactRepository));

            instance.ShouldBeNull();
        }
Exemple #7
0
        public void ResolveAll_Test()
        {
            var container = new CompositionContainer(new AssemblyCatalog(typeof(A).Assembly));

            Moonlit.Mef.MefDependencyResolver resolver = new MefDependencyResolver(container);
            var a = resolver.ResolveAll(typeof(IC));

            Assert.IsNotNull(a);
            Assert.AreEqual(2, a.Count());
        }
Exemple #8
0
        public void ResolveWithKey_Test()
        {
            var container = new CompositionContainer(new AssemblyCatalog(typeof(A).Assembly));

            Moonlit.Mef.MefDependencyResolver resolver = new MefDependencyResolver(container);
            var a = resolver.Resolve(typeof(IA), "B");

            Assert.IsNotNull(a);
            Assert.AreEqual(typeof(B), a.GetType());
        }
        public static void RegisterMef()
        {
            var asmCatalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());
            var container  = new CompositionContainer(asmCatalog);
            var resolver   = new MefDependencyResolver(container);

            // Install MEF dependency resolver for MVC
            DependencyResolver.SetResolver(resolver);
            // Install MEF dependency resolver for Web API
            GlobalConfiguration.Configuration.DependencyResolver = resolver;
        }
Exemple #10
0
        public void MefDependencyResolver_In_HttpConfig_DoesNot_Resolve_NonRegistered_ContactRepositories_Test()
        {
            var config   = new HttpConfiguration();
            var resolver = MefDependencyResolver.CreateWithDefaultConventions(new Assembly[0]);

            config.DependencyResolver = resolver;

            var repositories = config.DependencyResolver.GetServices(typeof(IContactRepository));

            repositories.Count().ShouldEqual(0);
        }
Exemple #11
0
        public void MefDependencyResolver_In_HttpConfig_DoesNot_Resolve_PipelineType_But_Fallback_To_DefaultResolver_Test()
        {
            var config   = new HttpConfiguration();
            var resolver = MefDependencyResolver.CreateWithDefaultConventions(new Assembly[0]);

            config.DependencyResolver = resolver;

            var instance = config.Services.GetService(typeof(IHttpActionSelector));

            instance.ShouldNotBeNull();
        }
Exemple #12
0
        /// <summary>
        /// Initialises the container.
        /// </summary>
        public void InitContainer()
        {
            var container = new GlimpseCompositionContainer(
                new AggregateCatalog(
                    new DirectoryCatalog("bin")));

            container.ComposeExportedValue<CompositionContainer>(container);

            var resolver = new MefDependencyResolver(container);
            DependencyResolver.SetResolver(resolver);
        }
        public static void RegisterMef()
        {
            var container = ConfigureContainer();

            ControllerBuilder.Current.SetControllerFactory(new MefControllerFactory(container));

            var resolver = new MefDependencyResolver(container);

            DependencyResolver.SetResolver(resolver);

            System.Web.Http.GlobalConfiguration.Configuration.DependencyResolver = resolver;
        }
        private static void ConfigureComposition()
        {
            var catalog            = new AssemblyCatalog(typeof(Startup).Assembly);
            var container          = new CompositionContainer(catalog);
            var serviceLocator     = new MefServiceLocator(container);
            var dependencyResolver = new MefDependencyResolver(serviceLocator);

            container.ComposeExportedValue <IServiceLocator>(serviceLocator);

            //for web api
            GlobalConfiguration.Configuration.DependencyResolver = dependencyResolver;
            //for mvc
            System.Web.Mvc.DependencyResolver.SetResolver(dependencyResolver);
        }
Exemple #15
0
        public void MefDependencyResolver_In_HttpConfig_Resolves_Registered_ContactRepository_ThroughHost_Test()
        {
            var config   = new HttpConfiguration();
            var resolver = MefDependencyResolver.CreateWithDefaultConventions(new[] { Assembly.GetAssembly(typeof(IContactRepository)) });

            config.DependencyResolver = resolver;

            var server = new HttpServer(config);
            var client = new HttpClient(server);

            client.GetAsync("http://anything/api/contacts").ContinueWith(task =>
            {
                var response = task.Result;
                response.Content.ShouldNotBeNull();
            });
        }
Exemple #16
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            ControllerBuilder.Current.SetControllerFactory(new MFControllerFactory());

            DirectoryCatalog      catalog = new DirectoryCatalog(AppDomain.CurrentDomain.SetupInformation.PrivateBinPath);
            MefDependencyResolver res     = new MefDependencyResolver(new DisposableWrapperCatalog(catalog, true));

            DependencyResolver.SetResolver(res);
            //MiniProfilerEF6.Initialize();
            DatabaseInitializer.Initialize();
        }
Exemple #17
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            ControllerBuilder.Current.SetControllerFactory(new MFControllerFactory());

            DirectoryCatalog      catalog = new DirectoryCatalog(AppDomain.CurrentDomain.SetupInformation.PrivateBinPath);
            MefDependencyResolver res     = new MefDependencyResolver(new DisposableWrapperCatalog(catalog, true));

            DependencyResolver.SetResolver(res);

            MF_Project.DatabaseInitializer.Initialize();
            string fileIndexPath = ConfigurationManager.AppSettings["FileIndexPath"];
            string physicalPath  = Server.MapPath("/" + fileIndexPath);

            SearchIndexManager.GetInstance().StartThread(physicalPath);
        }
Exemple #18
0
        private void ConfigureMef(HttpConfiguration configuration)
        {
            var resolver = new MefDependencyResolver(GetCompositionContainer());

            configuration.DependencyResolver = resolver;
        }
Exemple #19
0
        private static void RegisterMefDepencency(HttpConfiguration configuration, ExportProvider exportProvider)
        {
            var dependency = new MefDependencyResolver(exportProvider, configuration.DependencyResolver);

            configuration.DependencyResolver = dependency;
        }