Autofac集成webform和mvc项目

Autofac可以很好的集成到项目中,这里这介绍WebFormMVC项目的集成,所用例子参考Autofac依赖注入应用。其他项目的集成可以参考官网api

手动集成到项目

比较老方式

  1. 在Global文件声明一静态container
  2. Application_Start方法内这次类型
  3. 使用方式Container.Resolve<ProductService>();
    这种方式的缺点大量的类型写入不同文件,一旦需要修改需要修改多处

ASp.net WebForm项目集成

  1. 引入Autofac.Web
  2. webconfig文件添加Ihandler注册
  3. Global文件中注入
  4. page类中使用 声明属性 直接可在方法中使用

ASP.net MVC 中

因controller是动态生成的对象,更方便集成

  1. 引入包Autofac.Mvc5
  2. Global文件中注入
  3. controller构造函数注入
    public class ProductController : Controller
    {
		private ProductService _productService;

		public ProductController(ProductService productService)
		{
			_productService = productService;
		}

		// GET: Product
		public ActionResult Index()
        {
			string categoryName = "Hats";
			var list = _productService.GetAllProductsIn(categoryName);
			return View(list);
        }
    }

下载

原文地址:https://www.cnblogs.com/LoveTomato/p/9285328.html