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