protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); RouteConfig.RegisterRoutes(RouteTable.Routes); log4net.Config.XmlConfigurator.Configure(); var builder = new ContainerBuilder();//把当前程序集中的 Controller 都注册,不要忘了.PropertiesAutowired() builder.RegisterControllers(typeof(MvcApplication).Assembly).PropertiesAutowired(); builder.RegisterApiControllers(typeof(MvcApplication).Assembly).PropertiesAutowired(); Assembly[] assemblies = new Assembly[] { Assembly.Load("IMS.Service") };// 获取所有相关类库的程序集 builder.RegisterAssemblyTypes(assemblies). Where(type => !type.IsAbstract && typeof(IServiceSupport).IsAssignableFrom(type)).AsImplementedInterfaces().PropertiesAutowired(); //type1.IsAssignableFrom(type2):Assign赋值,type1类型的变量是否可以指向type2类型的对象。也就是type2是否实现type1接口/type2是否继承自type1 //注册系统级别的 DependencyResolver,这样当 MVC 框架创建 Controller 等对象的时候都是管 Autofac 要对象。 var container = builder.Build(); // Set the dependency resolver for MVC. var resolver = new AutofacDependencyResolver(container); DependencyResolver.SetResolver(resolver); // Set the dependency resolver for Web API. var webApiResolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = webApiResolver; GlobalFilters.Filters.Add(new JsonNetActionFilter()); GlobalFilters.Filters.Add(new SYSExceptionFilter()); GlobalFilters.Filters.Add(new SYSAuthorizationFilter()); // StartQuartz(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); var builder = new ContainerBuilder(); // Register your MVC controllers. (MvcApplication is the name of // the class in Global.asax.) builder.RegisterControllers(typeof(StudentController).Assembly); builder.RegisterModule(new WebModule.WebModule() { ConnectionString = HostingEnvironment.MapPath(@"/App_Data/database.json") }); // Set the dependency resolver to be Autofac. var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); }
public static void ConfigureContainer() { var builder = new ContainerBuilder(); // Register dependencies in controllers builder.RegisterControllers(typeof(MvcApplication).Assembly); //Register web Api controllers //builder.RegisterApiControllers(typeof(MvcApplication).Assembly); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); //builder.RegisterType<Type>().As<IType>(); // Register dependencies in filter attributes builder.RegisterFilterProvider(); // Register dependencies in custom views builder.RegisterSource(new ViewRegistrationSource()); // Register our Data dependencies builder.RegisterModule(new AutoFacModules()); // builder.RegisterType<AuthService>().As<IAuthService>(); var container = builder.Build(); // Set MVC DI resolver to us our Autofac container DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); // GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container); GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver((IContainer)container); }
public static void Initialise() { var container = BuildUnityContainer(); DependencyResolver.SetResolver(new UnityDependencyResolver(container)); }