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
うまくいきました。
誰でも助けることができますか?ありがとう。