Autofac集成webform和mvc项目
Autofac可以很好的集成到项目中,这里这介绍WebForm
和MVC
项目的集成,所用例子参考Autofac依赖注入应用。其他项目的集成可以参考官网api
手动集成到项目
比较老方式
- 在Global文件声明一静态
container
- 在
Application_Start
方法内这次类型 - 使用方式
Container.Resolve<ProductService>();
这种方式的缺点大量的类型写入不同文件,一旦需要修改需要修改多处
ASp.net WebForm项目集成
- 引入
Autofac.Web
包 - webconfig文件添加Ihandler注册
- Global文件中注入
- page类中使用 声明属性 直接可在方法中使用
ASP.net MVC 中
因controller是动态生成的对象,更方便集成
- 引入包
Autofac.Mvc5
- Global文件中注入
- 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);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)