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; }
}
...
}
web.config
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules>
<add name="AnonymousIdentityModule" type="AnonymousIdentityModule" />
</modules>
</system.webServer>
Windsor に関連するこの古い記事を見つけましたが、autofac には同等のものはありませんでした。