Я использую Castle Windsor в приложении MVC, и у меня возникла эта проблема:
У меня 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;
}
...
}
Проблема в том, что «два» UnitOfWorkProvider
(в контроллере и в AuthenticationProvider
) не совпадают, как я ожидал.
_9 _, _ 10_ и его регистрация находятся в другом проекте (Windows Library).
container.Register(Component.For<IUnitOfWorkProvider>()
.ImplementedBy<UnitOfWorkProvider>()
.LifestylePerWebRequest());
LifestylePerThread
не работает с той же ошибкой.
Когда я устанавливаю LifestyleSignleton
, он работает нормально.
Кто-нибудь может помочь? Спасибо.