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)が、私が期待するものと同じではないことです。
IAuthenticationProvider、AuthenticationProviderおよびその登録は別のプロジェクト (Windows ライブラリ) にあります。
container.Register(Component.For<IUnitOfWorkProvider>()
.ImplementedBy<UnitOfWorkProvider>()
.LifestylePerWebRequest());
LifestylePerThread同じエラーで動作しません。
設定したらLifestyleSignletonうまくいきました。
誰でも助けることができますか?ありがとう。