0

MVC アプリケーションでキャッスル ウィンザーを使用していますが、次の問題が発生しました。

私にはIUnitOfWorkProvider依存症がありPerWebRequestます。

コントローラーには、次の 2 つの依存関係があります。

public class UserController : Controller
{
    public UserController(IUnitOfWorkProvider unitOfWorkProvider,
                          IAuthenticationProvider authenticationProvider)
    {
        this.unitOfWorkProvider = unitOfWorkProvider;
        this.authenticationProvider = authenticationProvider;
    }
    ...
}

AuthenticationProvider同じ依存関係があります ( IUnitOfWorkProvider)

public class AuthenticationProvider : IAuthenticationProvider
{
    public AuthenticationProvider(IUnitOfWorkProvider unitOfWorkProvider)
    {
        this.unitOfWorkProvider = unitOfWorkProvider;
    }
    ...
}

問題は、「2つの」UnitOfWorkProvider(コントローラーと in 内AuthenticationProvider)が、私が期待するものと同じではないことです。

IAuthenticationProviderAuthenticationProviderおよびその登録は別のプロジェクト (Windows ライブラリ) にあります。

container.Register(Component.For<IUnitOfWorkProvider>()
                            .ImplementedBy<UnitOfWorkProvider>()
                            .LifestylePerWebRequest());

LifestylePerThread同じエラーで動作しません。

設定したらLifestyleSignletonうまくいきました。

誰でも助けることができますか?ありがとう。

4

1 に答える 1