public WebApiMiddlewareConfiguration(IAppEnvironmentProvider appEnvironmentProvider, IEnumerable <IWebApiConfigurationCustomizer> webApiConfgurationCustomizers, System.Web.Http.Dependencies.IDependencyResolver webApiDependencyResolver, IWebApiOwinPipelineInjector webApiOwinPipelineInjector) { if (appEnvironmentProvider == null) { throw new ArgumentNullException(nameof(appEnvironmentProvider)); } if (webApiConfgurationCustomizers == null) { throw new ArgumentNullException(nameof(webApiConfgurationCustomizers)); } if (webApiDependencyResolver == null) { throw new ArgumentNullException(nameof(webApiDependencyResolver)); } if (webApiOwinPipelineInjector == null) { throw new ArgumentNullException(nameof(webApiOwinPipelineInjector)); } _activeAppEnvironment = appEnvironmentProvider.GetActiveAppEnvironment(); _webApiConfgurationCustomizers = webApiConfgurationCustomizers; _webApiDependencyResolver = webApiDependencyResolver; _webApiOwinPipelineInjector = webApiOwinPipelineInjector; }
public Startup( IDependencyResolver webDependencyResolver, IConfiguration configuration, IDbCleanupJob cleanupJob) { _webDependencyResolver = webDependencyResolver; _configuration = configuration; _cleanupJob = cleanupJob; }
public Startup( IDependencyResolver webDependencyResolver, IConfiguration configuration, IJob jobManager) { _webDependencyResolver = webDependencyResolver; _configuration = configuration; _jobManager = jobManager; }
protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); //设置AutoFac解析器 System.Web.Http.Dependencies.IDependencyResolver autoFacResolver = ApiContainer.Init(); //初始化容器 HttpConfiguration config = GlobalConfiguration.Configuration; //获取HttpConfiguration config.DependencyResolver = autoFacResolver; //将AutoFac解析器设置为系统DI解析器 }
public static void RegisterComponents() { ContainerBuilder builder = GetBuilder(); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); var container = builder.Build(); apiResolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = apiResolver; }
public DefaultODataActionCreateUpdateParameterDeserializer(System.Web.Http.Dependencies.IDependencyResolver dependencyResolver) : base(ODataPayloadKind.Parameter) { if (dependencyResolver == null) { throw new ArgumentNullException(nameof(dependencyResolver)); } _stringFormatterConvert = new ODataJsonDeSerializerStringCorrector(dependencyResolver.GetServices(typeof(IStringCorrector).GetTypeInfo()).Cast <IStringCorrector>().ToArray()); _odataJsonDeserializerEnumConverter = new ODataJsonDeSerializerEnumConverter(); }
public OwinActor(ILog logger, System.Web.Http.Dependencies.IDependencyResolver resolver) { if (logger == null) throw new ArgumentNullException(nameof(logger)); if (resolver == null) throw new ArgumentNullException(nameof(resolver)); _logger = logger; _resolver = resolver; _webOptions = new StartOptions { Port = 8000 }; _webOptions.Urls.Add("http://localhost:" + 8000); }
private void SetupDevContainer() { _container = new DevContainer(); ((DevContainer)_container).SetupForSQLite(Castle.Core.LifestyleType.PerWebRequest); _container.Install(new WindsorControllerInstaller(_container)); _resolver = new WindsorHttpDependencyResolver(_container); var windsorControllerFactory = new WindsorControllerFactory(_container); ControllerBuilder.Current.SetControllerFactory(windsorControllerFactory); }
public void ConfigureOAuth(IAppBuilder app, System.Web.Http.Dependencies.IDependencyResolver resolver) { OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions() { AllowInsecureHttp = true, TokenEndpointPath = new PathString("/token"), AccessTokenExpireTimeSpan = TimeSpan.FromDays(1), Provider = new AuthorizationProvider((IAuthorizationService)resolver.GetService(typeof(AuthorizationService))) }; app.UseOAuthAuthorizationServer(OAuthServerOptions); app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions()); }
private void SetupContainer() { _container = new DefaultContainer(); ((DefaultContainer)_container).SetupForWeb(); _container.Install(new WindsorControllerInstaller(_container)); _resolver = new WindsorHttpDependencyResolver(_container); var windsorControllerFactory = new WindsorControllerFactory(_container); ControllerBuilder.Current.SetControllerFactory(windsorControllerFactory); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); //ImageResizer //new PluginName().Install(ImageResizer.Configuration.Config.Current); #region IoC // 文档参考 http://autofaccn.readthedocs.io/zh/latest/getting-started/index.html var builder = new ContainerBuilder(); // Mvc Register builder.RegisterControllers(Assembly.GetExecutingAssembly()).AsSelf().PropertiesAutowired(); builder.RegisterFilterProvider(); //WebApi Register builder.RegisterApiControllers(Assembly.GetExecutingAssembly()).AsSelf().PropertiesAutowired(); builder.RegisterWebApiFilterProvider(GlobalConfiguration.Configuration); builder.RegisterWebApiModelBinderProvider(); //Services builder.RegisterType <ArticleService>().As <IArticleService>().InstancePerDependency(); // 注册Autofac Module builder.RegisterModule(new LoggingModule()); var connectionString = ConfigurationManager.ConnectionStrings["components"].ConnectionString; //数据库 builder.Register <IDbContext>(c => new DIILContext(connectionString)).InstancePerLifetimeScope(); //repositories builder.RegisterGeneric(typeof(EfRepository <>)).As(typeof(IRepository <>)).InstancePerLifetimeScope(); var container = builder.Build(); // WebApiResolver var webApiResolver = new AutofacWebApiDependencyResolver(container); apiResolver = webApiResolver; GlobalConfiguration.Configuration.DependencyResolver = webApiResolver; // Set the dependency resolver for MVC. var resolver = new AutofacDependencyResolver(container); mvcResolver = resolver; DependencyResolver.SetResolver(mvcResolver); #endregion }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); //初始化容器,并返回适用于WebApi的AutoFac解析器 System.Web.Http.Dependencies.IDependencyResolver autoFacResolver = ApiContainer.Init(); //获取HttpConfiguration HttpConfiguration config = GlobalConfiguration.Configuration; //将AutoFac解析器设置为系统DI解析器 config.DependencyResolver = autoFacResolver; }
public WebApiODataMiddlewareConfiguration(IAppEnvironmentProvider appEnvironmentProvider, IEnumerable <IODataServiceBuilder> odataServiceBuilders, IEnumerable <IWebApiConfigurationCustomizer> webApiConfgurationCustomizers, System.Web.Http.Dependencies.IDependencyResolver webApiDependencyResolver, IODataModelBuilderProvider oDataModelBuilderProvider, IWebApiOwinPipelineInjector webApiOwinPipelineInjector, IContainerBuilder containerBuilder) { if (odataServiceBuilders == null) { throw new ArgumentNullException(nameof(odataServiceBuilders)); } if (appEnvironmentProvider == null) { throw new ArgumentNullException(nameof(appEnvironmentProvider)); } if (webApiConfgurationCustomizers == null) { throw new ArgumentNullException(nameof(webApiConfgurationCustomizers)); } if (webApiDependencyResolver == null) { throw new ArgumentNullException(nameof(webApiDependencyResolver)); } if (oDataModelBuilderProvider == null) { throw new ArgumentNullException(nameof(oDataModelBuilderProvider)); } if (webApiOwinPipelineInjector == null) { throw new ArgumentNullException(nameof(webApiOwinPipelineInjector)); } if (containerBuilder == null) { throw new ArgumentNullException(nameof(containerBuilder)); } _activeAppEnvironment = appEnvironmentProvider.GetActiveAppEnvironment(); _odataServiceBuilders = odataServiceBuilders; _webApiConfgurationCustomizers = webApiConfgurationCustomizers; _webApiDependencyResolver = webApiDependencyResolver; _oDataModelBuilderProvider = oDataModelBuilderProvider; _webApiOwinPipelineInjector = webApiOwinPipelineInjector; _containerBuilder = containerBuilder; }
public WebApiODataMiddlewareConfiguration(IAppEnvironmentProvider appEnvironmentProvider, IEnumerable <IEdmModelProvider> emdEdmModelProviders, IEnumerable <IWebApiGlobalActionFiltersProvider> globalActionFilterProviders, System.Web.Http.Dependencies.IDependencyResolver webApiDependencyResolver, IODataModelBuilderProvider oDataModelBuilderProvider, IODataContainerBuilderCustomizer oDataContainerBuilderCustomizer, IWebApiOwinPipelineInjector webApiOwinPipelineInjector) { if (emdEdmModelProviders == null) { throw new ArgumentNullException(nameof(emdEdmModelProviders)); } if (appEnvironmentProvider == null) { throw new ArgumentNullException(nameof(appEnvironmentProvider)); } if (globalActionFilterProviders == null) { throw new ArgumentNullException(nameof(globalActionFilterProviders)); } if (webApiDependencyResolver == null) { throw new ArgumentNullException(nameof(webApiDependencyResolver)); } if (oDataModelBuilderProvider == null) { throw new ArgumentNullException(nameof(oDataModelBuilderProvider)); } if (oDataContainerBuilderCustomizer == null) { throw new ArgumentNullException(nameof(oDataContainerBuilderCustomizer)); } if (webApiOwinPipelineInjector == null) { throw new ArgumentNullException(nameof(webApiOwinPipelineInjector)); } _activeAppEnvironment = appEnvironmentProvider.GetActiveAppEnvironment(); _emdEdmModelProviders = emdEdmModelProviders; _globalActionFilterProviders = globalActionFilterProviders; _webApiDependencyResolver = webApiDependencyResolver; _oDataModelBuilderProvider = oDataModelBuilderProvider; _oDataContainerBuilderCustomizer = oDataContainerBuilderCustomizer; _webApiOwinPipelineInjector = webApiOwinPipelineInjector; }
/// <summary> /// Registers the specified <see cref="System.Web.Http.Dependencies.IDependencyResolver"/>. /// </summary> /// <param name="resolver">The resolver.</param> public static void Register(System.Web.Http.Dependencies.IDependencyResolver resolver) { if (isWebApiResolverRegistered) { return; } lock (Lock) { if (isWebApiResolverRegistered) { return; } System.Web.Http.GlobalConfiguration.Configuration.DependencyResolver = resolver; isWebApiResolverRegistered = true; } }
/// <summary> /// 初始化autofac /// </summary> public static void InitAutoFac() { var build = new ContainerBuilder(); var configuration = GlobalConfiguration.Configuration; build.RegisterModule(new ServiceModule()); ///注册webapi 到autofac build.RegisterApiControllers(Assembly.GetExecutingAssembly()); build.RegisterWebApiFilterProvider(configuration); build.RegisterWebApiModelBinderProvider(); var container = build.Build(); ///DI--wepi var apiResolver = new AutofacWebApiDependencyResolver(container); ApiResolver = apiResolver; GlobalConfiguration.Configuration.DependencyResolver = apiResolver; }
public void SetupWebApiControllerActivator(System.Web.Http.Dependencies.IDependencyResolver resolver, IWindsorContainer container) { var activator = new WindsorHttpControllerActivator(resolver, container); GlobalConfiguration.Configuration.Services.Replace(typeof(System.Web.Http.Dispatcher.IHttpControllerActivator), activator); }
/// <summary> /// Constructs a new WindsorWebApiDependencyResolver with a delegate IDependencyResolver instance /// for fallback. /// </summary> /// <param name="container">IWindsorContainer</param> /// <param name="delegateResolver">IDependencyResolver</param> public WindsorWebApiDependencyResolver(IWindsorContainer container, System.Web.Http.Dependencies.IDependencyResolver delegateResolver) { this._container = container; this._delegateResolver = delegateResolver ?? NoDependencyResolver; }
public static TService GetService <TService>(this System.Web.Http.Dependencies.IDependencyResolver dependencyResolver) { return((TService)dependencyResolver.GetService(typeof(TService))); }
static IContainer GetContainer() { var builder = new ContainerBuilder(); var assemblies = AppDomain.CurrentDomain.GetAssemblies() .Where(e => e.FullName.Contains("FaceGraphTask") || e.FullName.Contains("CQRS")).ToArray(); builder.RegisterAssemblyTypes(assemblies) .Where(t => typeof(ICommand).IsAssignableFrom(t)) .InstancePerLifetimeScope().AsImplementedInterfaces(); builder.RegisterAssemblyTypes(assemblies) .AsClosedTypesOf(typeof(ICommandValidator <>)) .AsImplementedInterfaces(); builder.RegisterAssemblyTypes(assemblies) .Where(t => t.BaseType == typeof(HttpApplicationStateBase)) .AsSelf() .AsImplementedInterfaces() .InstancePerLifetimeScope(); builder.RegisterAssemblyTypes(assemblies) .Where(t => t.BaseType == typeof(HttpSessionStateBase)) .AsSelf() .AsImplementedInterfaces() .InstancePerLifetimeScope(); builder.RegisterAssemblyTypes(assemblies) .Where(t => t == typeof(FileManager)) .AsSelf() .WithParameter("rootPath", "~/app_data/") .AsImplementedInterfaces(); builder.RegisterAssemblyTypes(assemblies) .AsClosedTypesOf(typeof(Application <>)) .AsSelf() .AsImplementedInterfaces(); builder.RegisterAssemblyTypes(assemblies) .AsClosedTypesOf(typeof(Session <>)) .AsSelf() .AsImplementedInterfaces(); builder.RegisterAssemblyTypes(assemblies) .AssignableTo <ICacheManager>() .AsImplementedInterfaces() .As(typeof(ICacheManager)); builder.RegisterAssemblyTypes(assemblies) .Where(t => t.BaseType == typeof(BaseEntity)).InstancePerDependency() .AsSelf() .AsImplementedInterfaces(); #region Entity Framework builder.RegisterAssemblyTypes(assemblies) .AsClosedTypesOf(typeof(Infrastructure.Commands.Interfaces.IFrameWorkCommandHandler <>)) .AsSelf() .AsImplementedInterfaces(); builder.RegisterAssemblyTypes(assemblies) .AssignableTo <ICommandExecuter>() .AsImplementedInterfaces() //.WithParameter("connectionString", "DefaultConnection") .As(typeof(ICommandExecuter)); builder.RegisterAssemblyTypes(assemblies) .AssignableTo <ICommandService>() .AsSelf() .AsImplementedInterfaces() .As(typeof(ICommandService)); var container = builder.Build(); builder = new ContainerBuilder(); builder.RegisterAssemblyTypes(assemblies) .AssignableTo <ICommandDispatcher>() .AsImplementedInterfaces() .As(typeof(ICommandDispatcher)) .WithParameter("container", container); //builder.RegisterAssemblyTypes(assemblies) // .AsClosedTypesOf(typeof(BaseApiController)) // .AsSelf() // .AsImplementedInterfaces(); //builder.RegisterAssemblyTypes(assemblies) // .AsClosedTypesOf(typeof(BaseController)) // .AsSelf() // .AsImplementedInterfaces(); //builder.Update(container); #endregion builder.RegisterModule(new AutofacWebTypesModule()); #region Mvc // Register dependencies in filter attributes builder.RegisterFilterProvider(); builder.RegisterControllers(Assembly.GetExecutingAssembly()); builder.RegisterModelBinders(Assembly.GetExecutingAssembly()); builder.RegisterModelBinderProvider(); MvcResolver = new AutofacDependencyResolver(container); #endregion #region Web Api builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); //WebApi resolver. WebApiResolver = new AutofacWebApiDependencyResolver(container); #endregion builder.Update(container); return(container); }
/// <summary> /// Registers the DependencyResolver implementation with the MVC runtime. /// <remarks> /// You must override this method in a derived class to control the manner in which the /// <see cref="System.Web.Http.Dependencies.IDependencyResolver"/> is registered. /// </remarks> /// </summary> public virtual void RegisterDependencyResolver(System.Web.Http.Dependencies.IDependencyResolver resolver) { ThreadSafeDependencyResolverRegistrar.Register(resolver); }
/// <summary> /// Provides a registration point for dependency resolvers, using the specified dependency resolver interface as resolver for serives inside this area. /// </summary> /// <param name="context">The context.</param> /// <param name="dependencyResolver">The dependency resolver.</param> /// <exception cref="System.ArgumentNullException">context is null</exception> public static void SetHttpDependencyResolver(this AreaRegistrationContext context, System.Web.Http.Dependencies.IDependencyResolver dependencyResolver) { AreaDependencyResolverConfiguration.Register(context.AreaName, dependencyResolver, context.Namespaces); }
protected virtual void RegisterWebApiDependencyResolver(System.Web.Http.Dependencies.IDependencyResolver resolver) { // Web Api GlobalConfiguration.Configuration.DependencyResolver = resolver; }