在 IIS 7.5 上使用 autofac 3.0 的新 MVC 4 Web 应用程序。如何将依赖项注入 IHttpModule?
我尝试了构造函数注入,结果是:
未找到“AnonymousIdentityModule”类型的构造函数
因此,内部似乎需要 http 模块的无参数构造函数。我也尝试过属性注入,但这导致实际上没有注入依赖项。
登记
builder.RegisterType<AnonymousIdentityModule>().As<IHttpModule>().PropertiesAutowired().InstancePerHttpRequest();
IHttpModule 代码
public class AnonymousIdentityModule : IHttpModule
{
private readonly IServiceManager _serviceManager;
// this causes "constructor not found" exception
public AnonymousIdentityModule(IServiceManager serviceManager)
{
_serviceManager = serviceManager;
}
// never assigned by autofac
public IServiceManager ServiceManager
{
get { return _serviceManager; }
set { _serviceManager = value; }
}
...
}
网络配置
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules>
<add name="AnonymousIdentityModule" type="AnonymousIdentityModule" />
</modules>
</system.webServer>
我发现这篇与 Windsor 相关的旧文章,但在 autofac 中没有看到类似的文章。