Autofact IOC注入方式(二)
然后, 修改Global.asax,
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
//Autofac初始化过程
var builder = new ContainerBuilder();
builder.RegisterControllers(typeof(MvcApplication).Assembly);//注册所有的Controller
//开发环境下,使用Stub类
builder.RegisterAssemblyTypes(typeof (MvcApplication).Assembly).Where(
t => t.Name.EndsWith("Repository") && t.Name.StartsWith("Stub")).AsImplementedInterfaces();
//发布环境下,使用真实的数据访问层
//builder.RegisterAssemblyTypes(typeof(MvcApplication).Assembly).Where(
// t => t.Name.EndsWith("Repository")).AsImplementedInterfaces();
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
//其它的初始化过程
........
}
}
当我们使用下面这行代码的时候,所有的controller就都是使用Stub类的实例
//开发环境下,使用Stub类
builder.RegisterAssemblyTypes(typeof (MvcApplication).Assembly).Where(
t => t.Name.EndsWith("Repository") && t.Name.StartsWith("Stub")).AsImplementedInterfaces();
当我们使用下面代码的时候,所有的controller就都用的是实际的数据访问类实例。
//发布环境下,使用真实的数据访问层
builder.RegisterAssemblyTypes(typeof(MvcApplication).Assembly).Where(t => t.Name.EndsWith("Repository")).AsImplementedInterfaces();
============ 欢迎各位老板打赏~ ===========
与本文相关的文章
- · The instance of entity type ‘Customer’ cannot be tracked because another instance with the same key value for {‘Id’} is already being tracked.
- · .NET8实时更新nginx ip地址归属地
- · 解决.NET Blazor子组件不刷新问题
- · .NET8如何在普通类库中引用 Microsoft.AspNetCore
- · .NET8 Mysql SSL error
- · ASP.NET Core MVC的Razor视图渲染中文乱码的问题
- · .NETCORE 依赖注入服务生命周期
- · asp.net zero改mysql
- · .NET5面试汇总
- · .Net连接Mysql数据库的Convert Zero Datetime日期问题
- · vue使用element-ui中的Message 、MessageBox 、Notification
- · Asp.Net Core Filter 深入浅出的那些事-AOP
