使用AutoFac在通用处理程序中注册和解析类

时间:2016-07-12 07:22:27

标签: asp.net-mvc asp.net-web-api dependency-injection autofac generic-handler

我的WebAPI项目中有一个名为 Config 的类,它有一个构造函数注入服务。

 public class Config: IConfig
 {
     protected readonly IConfigService _configService;
     public Config(IConfigService configService)
     {
         this._configService = configService;
     }
}

我需要在用于图片上传的通用处理程序中使用此Config类。任何人都可以帮助我在Startup类中注册此Config类并在Handler类中解决它。我确实以正常方式尝试,但没有找到无参数构造函数发现错误。

1 个答案:

答案 0 :(得分:1)

由于ASP.net内部设计限制,无法使用带有通用处理程序的构造函数注入。

在您的启动课程中,确保定义了 var data = new int[] { 8,7,6,5,4,3,2,1,0 }; var partiallyOrdered = data.PartialOrderBy((x, y) => { if (x % 2 == 0 && y % 2 != 0) return null; return x.CompareTo(y); });

DependencyResolver

然后在你的HttpHandler的构造函数中使用// Set the dependency resolver to be Autofac. var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); 类:

DependencyResolver