如何在类库项目中使用Autofac?

Bre*_*ogt 15 c# dependency-injection ioc-container inversion-of-control autofac

我有以下实现:

private INewsRepository newsRepository;

public NewsService(INewsRepository newsRepository)
{
     this.newsRepository = newsRepository;
}
Run Code Online (Sandbox Code Playgroud)

此服务位于与我的Web项目不同的项目中.在哪里以及如何指定依赖注入?我还需要把它放在我的global.asax文件中吗?如果此服务也用于我的其他应用程序怎么办?

Mar*_*ann 22

您应该只从应用程序的根目录引用容器(global.asax).这称为Register Resolve Release模式.

正确使用构造函数注入可确保您可以从其他应用程序重用NewsService类,而无需其他应用程序使用特定的DI容器(或任何其他应用程序).

这是以DI友好方式设计服务的良好开端,同时保持容器不可知.