[asp.net-mvc]注册和解析中使用 AutoFac 的泛型处理程序的类

发布时间: 2016/10/9 6:18:33
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个构造函数注入的一种服务的 WebAPI 项目的要求配置上课。

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

我需要在用于图像上传一个泛型处理程序中使用此配置类。谁能帮我注册此配置类中的启动类和解决它在处理程序类。我尽在正常的方式,但越来越发现错误没有无参数构造函数。

解决方法 1:

由于 ASP.net 内部设计的限制,不能使用泛型处理程序使用构造函数注入。

在您启动类,确保 DependencyResolver 定义︰

// Set the dependency resolver to be Autofac.
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

然后在构造函数中的你 HttpHandler 使用 DependencyResolver 类︰

public class TestHandler : IHttpHandler 
{
    public TestHandler()
    {
        this._config = DependencyResolver.Current.GetService(typeof(IConfig)); 
    }

    private readonly IConfig _config; 

    // implements IHttpHandler 
}
官方微信
官方QQ群
31647020