我在MVC应用程序中使用Castle,我遇到了以下问题:
我有IUnitOfWorkProvider依赖性,我想拥有PerWebRequest的生活方式。
在“主计长”中,我有以下两个依赖关系:
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;
}
...
}问题是,“两个”UnitOfWorkProviders (在控制器和AuthenticationProvider中)与我所期望的不同的是不同的。
IAuthenticationProvider、AuthenticationProvider及其注册在不同的项目中(Windows )。
container.Register(Component.For<IUnitOfWorkProvider>()
.ImplementedBy<UnitOfWorkProvider>()
.LifestylePerWebRequest());LifestylePerThread不适用于相同的错误。
当我设置LifestyleSignleton 时,它运行得很好。
有人能帮忙吗?谢谢。
发布于 2013-06-04 20:29:57
问题是IAuthenticationProvider有着单身的生活方式。我也把它改成了PerWebRequest,现在它运行得很好。
https://stackoverflow.com/questions/16887427
复制相似问题