AutoFac+ASP.NetMvc,AspNet.Core

简介: ASP.Net.Mvc 引用install-package autofacinstall-package Mvc5//创建一个用于注册的对象ContainerBuilder builder = new ContainerBuilder()//获取实现类的程序集Assembly[] assembly = new Assembly[]{Assembly.

ASP.Net.Mvc 

引用

install-package autofac
install-package Mvc5
//创建一个用于注册的对象
ContainerBuilder  builder = new ContainerBuilder()
//获取实现类的程序集
Assembly[] assembly = new Assembly[]{Assembly.Load(实现类程序集)}
builder.RegisterAssemblyTypes(assembly) //注册程序集
         .Where(y=>!y.IsAbstract)//不是抽象类
         .AsImplementedInterfaces()//注册所有实现接口
         .PropertiesAutowired(); //自动注入 (必须为属性)

//将本程序所有控制器全部注册
builder.RegisterControllers(typeof(MvcApplication).Assembly)
         .PropertiesAutowired();
Container container = builder.Build();
//将当前容器的控制器工厂替换掉默认的控制器工厂,(即:不要MVC默认的控制器工厂,用autofac容器中的控制器替代)
//DefaultControllerFactory  mvc默认的控制器工厂
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

代码填入Global中

 

Asp.Net.Core

引用

install-package autofac
install-package autofac-extensions.DependencyInjection

代码,添加到Startup的服务中

public  IServiceProvider ConfigureServices(IServiceCollection service)
        {
            service.AddMvc();
            var builder = new ContainerBuilder();
            Assembly[] assembly = new Assembly[] { Assembly.Load("AutoFacDemo.BLL") };
            builder.RegisterAssemblyTypes(assembly)
             .AsImplementedInterfaces()
             .PropertiesAutowired();
            builder.Populate(service);
            return new AutofacServiceProvider(builder.Build());
            
        }

 

相关文章
|
12月前
|
存储 开发框架 前端开发
asp.net与asp.net优缺点及示例
asp.net与asp.net优缺点及示例
|
2月前
|
开发框架 JSON .NET
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
|
2月前
|
开发框架 .NET 数据库连接
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
|
5月前
|
SQL 开发框架 JavaScript
分享33个ASP.NET电子商务源码和40个ASP.NET控件组件源码,总有一款适合您
分享33个ASP.NET电子商务源码和40个ASP.NET控件组件源码,总有一款适合您
72 0
|
开发框架 .NET Apache
301重定向代码合集(iis,asp,php,asp.net,apache)
301重定向代码合集(iis,asp,php,asp.net,apache)
311 0
|
开发框架 前端开发 安全
ASP.NET Core Startup类Config gure()方法|ASP.NET Core 中间件详细说明
目录 Startup 类 Configure() 方法 中间件 使用中间件 Configure 方法 的参数 IApplicationBuilder Extension Methods(拓展方法)--微软提供的中间件
178 2
ASP.NET Core Startup类Config gure()方法|ASP.NET Core 中间件详细说明
|
开发框架 .NET 容器
Autofac入门与替代ASP.NET CO re、 ABP依赖注入容器
Autofac入门与替代ASP.NET CO re、 ABP依赖注入容器
656 0
|
开发框架 .NET 应用服务中间件
使用Nginx对ASP.NETCore网站或D ocker等进行反向代理,宝塔面板对ASP.NET Core 反向代理
使用Nginx对ASP.NETCore网站或D ocker等进行反向代理,宝塔面板对ASP.NET Core 反向代理
394 0
|
开发框架 前端开发 .NET
ASP.NET MVC (四、ASP.NET Web API应用程序与跨域操作)(7)
ASP.NET MVC (四、ASP.NET Web API应用程序与跨域操作)(7)
151 0
ASP.NET MVC (四、ASP.NET Web API应用程序与跨域操作)(7)
|
开发框架 前端开发 .NET
ASP.NET MVC (四、ASP.NET Web API应用程序与跨域操作)(6)
ASP.NET MVC (四、ASP.NET Web API应用程序与跨域操作)(6)
141 0
ASP.NET MVC (四、ASP.NET Web API应用程序与跨域操作)(6)