6

OWIN を使用するように、既存の ASP .Net Web API 2 プロジェクトを変換しています。このプロジェクトでは、Castle Windsor を依存性注入フレームワークとして使用し、依存性の 1 つを PerWebRequest ライフスタイルを使用するように設定します。

サーバーにリクエストを送信すると、Castle.MicroKernel.ComponentResolutionException例外が発生します。例外では、構成ファイルのセクションsystem.web/httpModulesとセクションに次を追加することをお勧めします。system.WebServer/modules

<add name="PerRequestLifestyle"
     type="Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule, Castle.Windsor" />

これはエラーを解決しません。

SimpleInjector の OWIN 統合によって提供される例からインスピレーションを得て、以下を使用して OWIN スタートアップ クラスにスコープを設定しようとしました (依存関係のライフスタイルを更新するだけでなく)。

appBuilder.User(async (context, next) =>
{
    using (config.DependencyResolver.BeginScope()){
    {
        await next();
    }
}

残念ながら、これもうまくいきませんでした。

Castle Windsor の PerWebRequest ライフスタイルを使用したり、OWIN でシミュレートするにはどうすればよいですか?

4

3 に答える 3