public static void Resolve(ContainerBuilder builder) { // Register your MVC controllers. (MvcApplication is the name of // the class in Global.asax.) builder.RegisterControllers(typeof(WebApiApplication).Assembly); // OPTIONAL: Register model binders that require DI. builder.RegisterModelBinders(typeof(WebApiApplication).Assembly); builder.RegisterModelBinderProvider(); // OPTIONAL: Register web abstractions like HttpContextBase. builder.RegisterModule <AutofacWebTypesModule>(); // OPTIONAL: Enable property injection in view pages. builder.RegisterSource(new ViewRegistrationSource()); // OPTIONAL: Enable property injection into action filters. builder.RegisterFilterProvider(); // OPTIONAL: Enable action method parameter injection (RARE). //builder.InjectActionInvoker(); ServiceDependencyRegister.Resolve(builder); // Set the dependency resolver to be Autofac. var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); }
/// <summary> /// Registers the type mappings with the Unity container. /// </summary> /// <param name="container">The unity container to configure.</param> /// <remarks> /// There is no need to register concrete types such as controllers or /// API controllers (unless you want to change the defaults), as Unity /// allows resolving a concrete type even if it was not previously /// registered. /// </remarks> public static void RegisterTypes(IUnityContainer container) { container = new UnityContainer(); // NOTE: To load from web.config uncomment the line below. // Make sure to add a Unity.Configuration to the using statements. // container.LoadConfiguration(); // TODO: Register your type's mappings here. // container.RegisterType<IProductRepository, ProductRepository>(); //container.RegisterType<MiniDMartApp.Application.Interfaces.IItemDataService, MiniDMartApp.Application.Services.ItemDataService>(); container = ServiceDependencyRegister.RegisterTypes(container); System.Web.Mvc.DependencyResolver.SetResolver(new Unity.AspNet.Mvc.UnityDependencyResolver(container)); }
public static IUnityContainer RegisterComponents(IBaseSettings settings) { var container = new UnityContainer(); container.RegisterInstance(settings); AzureDependencyRegister.RegisterLogs(container, settings, "Api"); AzureDependencyRegister.RegisterStorage(container, settings); AzureDependencyRegister.RegisterQueues(container, settings); ServiceDependencyRegister.Register(container); return(container); }
public static void Register(HttpConfiguration config) { // Web API configuration and services IUnityContainer container = new UnityContainer(); container = ServiceDependencyRegister.RegisterTypes(container); config.DependencyResolver = new UnityDependencyResolver(container); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
public static void Resolve(ContainerBuilder builder) { //// Get your HttpConfiguration. //var config = GlobalConfiguration.Configuration; //// Register your Web API controllers. //builder.RegisterApiControllers(typeof(WebApiApplication).Assembly); ////builder.RegisterControllers(typeof(WebApiApplication).Assembly); //// OPTIONAL: Register the Autofac filter provider. //builder.RegisterWebApiFilterProvider(config); //// OPTIONAL: Register the Autofac model binder provider. //builder.RegisterWebApiModelBinderProvider(); //ServiceDependencyRegister.Resolve(builder); //// Set the dependency resolver to be Autofac. //var container = builder.Build(); //DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); //config.DependencyResolver = new AutofacWebApiDependencyResolver(container); // Get your HttpConfiguration. var config = GlobalConfiguration.Configuration; // Register your Web API controllers. builder.RegisterApiControllers(typeof(WebApiApplication).Assembly); // OPTIONAL: Register the Autofac filter provider. builder.RegisterWebApiFilterProvider(config); // OPTIONAL: Register the Autofac model binder provider. builder.RegisterWebApiModelBinderProvider(); ServiceDependencyRegister.Resolve(builder); // Set the dependency resolver to be Autofac. var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); }
//// public static string assemblyIncludingPattern; /// <summary> /// Resolves the specified builder. /// </summary> /// <param name="builder">The builder.</param> public static void Resolve(ContainerBuilder builder) { if (HttpContext.Current != null) { builder.Register(c => new HttpContextWrapper(HttpContext.Current) as HttpContextBase) .As <HttpContextBase>() .InstancePerDependency(); } builder.Register(c => c.Resolve <HttpContextBase>().Request) .As <HttpRequestBase>() .InstancePerDependency(); builder.Register(c => c.Resolve <HttpContextBase>().Response) .As <HttpResponseBase>() .InstancePerDependency(); builder.Register(c => c.Resolve <HttpContextBase>().Server) .As <HttpServerUtilityBase>() .InstancePerDependency(); builder.Register(c => c.Resolve <HttpContextBase>().Session) .As <HttpSessionStateBase>() .InstancePerDependency(); ////builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()).Where(t => !t.IsAbstract && typeof(ApiController).IsAssignableFrom(t)) //// .InstancePerMatchingLifetimeScope(); builder.RegisterControllers(typeof(GDS.API.WebApiApplication).Assembly); builder.RegisterApiControllers(typeof(GDS.API.WebApiApplication).Assembly); ServiceDependencyRegister.Resolve(builder); var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); //// Create the depenedency resolver. var resolver = new AutofacWebApiDependencyResolver(container); //// Configure Web API with the dependency resolver. GlobalConfiguration.Configuration.DependencyResolver = resolver; }