使用 AutoFac 在通用处理程序中注册并解析 class
Register and resolve a class in generic handler using AutoFac
我的 WebAPI 项目中有一个名为 Config 的 class,它有一个服务构造函数注入。
public class Config: IConfig
{
protected readonly IConfigService _configService;
public Config(IConfigService configService)
{
this._configService = configService;
}
}
我需要在用于图像上传的通用处理程序中使用此配置 class。谁能帮我在 Startup class 中注册这个 Config class 并在 Handler class 中解析它。我确实以正常方式尝试过,但是没有发现无参数构造函数错误。
由于 ASP.net 内部设计限制,无法通过通用处理程序使用构造函数注入。
在您的启动 class 中,确保 DependencyResolver
已定义:
// Set the dependency resolver to be Autofac.
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
然后在 HttpHandler 的构造函数中使用 DependencyResolver
class :
public class TestHandler : IHttpHandler
{
public TestHandler()
{
this._config = DependencyResolver.Current.GetService(typeof(IConfig));
}
private readonly IConfig _config;
// implements IHttpHandler
}
我的 WebAPI 项目中有一个名为 Config 的 class,它有一个服务构造函数注入。
public class Config: IConfig
{
protected readonly IConfigService _configService;
public Config(IConfigService configService)
{
this._configService = configService;
}
}
我需要在用于图像上传的通用处理程序中使用此配置 class。谁能帮我在 Startup class 中注册这个 Config class 并在 Handler class 中解析它。我确实以正常方式尝试过,但是没有发现无参数构造函数错误。
由于 ASP.net 内部设计限制,无法通过通用处理程序使用构造函数注入。
在您的启动 class 中,确保 DependencyResolver
已定义:
// Set the dependency resolver to be Autofac.
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
然后在 HttpHandler 的构造函数中使用 DependencyResolver
class :
public class TestHandler : IHttpHandler
{
public TestHandler()
{
this._config = DependencyResolver.Current.GetService(typeof(IConfig));
}
private readonly IConfig _config;
// implements IHttpHandler
}