Model view controller 温莎城堡:控制器中的PerWebRequest
我在MVC应用程序中使用Castle Windsor,我遇到了以下问题: 我有Model view controller 温莎城堡:控制器中的PerWebRequest,model-view-controller,controller,inversion-of-control,castle-windsor,perwebrequest,Model View Controller,Controller,Inversion Of Control,Castle Windsor,Perwebrequest,我在MVC应用程序中使用Castle Windsor,我遇到了以下问题: 我有IUnitOfWorkProvider依赖项,我想拥有PerWebRequest生活方式 在控制器中,我有两个依赖项: 公共类UserController:Controller { 公共用户控制器(IUnitOfWorkProvider unitOfWorkProvider, IAAuthenticationProvider(身份验证提供程序) { this.unitOfWorkProvider=unitOfWorkP
IUnitOfWorkProvider
依赖项,我想拥有PerWebRequest
生活方式
在控制器中,我有两个依赖项:
公共类UserController:Controller
{
公共用户控制器(IUnitOfWorkProvider unitOfWorkProvider,
IAAuthenticationProvider(身份验证提供程序)
{
this.unitOfWorkProvider=unitOfWorkProvider;
this.authenticationProvider=authenticationProvider;
}
...
}
AuthenticationProvider
具有相同的依赖关系(IUnitOfWorkProvider
)
公共类AuthenticationProvider:IAAuthenticationProvider
{
公共身份验证提供程序(IUnitOfWorkProvider unitOfWorkProvider)
{
this.unitOfWorkProvider=unitOfWorkProvider;
}
...
}
问题是“两个”UnitOfWorkProvider
s(在控制器中和AuthenticationProvider
)与我期望的不同
iaauthenticationprovider
,AuthenticationProvider
及其注册在不同的项目(Windows库)中
container.Register(Component.For())
.由()实施
.LifestylePerWebRequest());
LifestylePerThread
无法处理相同的错误
当我设置LifestyleSignleton
时,它工作正常。
有人能帮忙吗?谢谢。问题在于IAuthenticationProvider有单身生活方式。我也将其更改为PerWebRequest,现在它工作正常。我不太了解实际情况problem@maxlego:我已将描述更改为更易于理解,希望这样更好IAAuthenticationProvider的生活方式是什么?IAAuthenticationProvider有一种单身生活方式。我怎么会犯这样愚蠢的错误!谢谢你的帮助。这真的是一种职业盲症:D