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; }
public void MefDependencyResolver_Resolves_Registered_ContactRepository_Test() { var resolver = MefDependencyResolver.CreateWithDefaultConventions(new[] { Assembly.GetAssembly(typeof(IContactRepository)) }); var instance = resolver.GetService(typeof(IContactRepository)); instance.ShouldNotBeNull(); }
public static void RegisterMef() { var builder = RegisterExports(); var resolver = DependencyResolver.Current; var newResolver = new MefDependencyResolver(builder, resolver); DependencyResolver.SetResolver(newResolver); }
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); }
public void MefDependencyResolver_DoesNot_Resolve_NonRegistered_ContactRepository_Test() { var resolver = MefDependencyResolver.CreateWithDefaultConventions(new Assembly[0]); var instance = resolver.GetService(typeof(IContactRepository)); instance.ShouldBeNull(); }
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()); }
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; }
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); }
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(); }
/// <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); }
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(); }); }
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(); }
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); }
private void ConfigureMef(HttpConfiguration configuration) { var resolver = new MefDependencyResolver(GetCompositionContainer()); configuration.DependencyResolver = resolver; }
private static void RegisterMefDepencency(HttpConfiguration configuration, ExportProvider exportProvider) { var dependency = new MefDependencyResolver(exportProvider, configuration.DependencyResolver); configuration.DependencyResolver = dependency; }