Asp.net mvc windsor基于调用控制器解决依赖关系
假设我有一个(蹩脚的伪代码): 一个实现被注入到一堆不同的控制器中 具体的UserService注入了Asp.net mvc windsor基于调用控制器解决依赖关系,asp.net-mvc,dependency-injection,castle-windsor,Asp.net Mvc,Dependency Injection,Castle Windsor,假设我有一个(蹩脚的伪代码): 一个实现被注入到一堆不同的控制器中 具体的UserService注入了 interface IHRService { bool ValidateInfo(user _user) } 这用于附加/可选验证,至少有2个实现。ValidateInfo是从UserService的CreateUser函数调用的。我想根据控制器调用UserService的内容将不同的IHRService注入UserService,这样我就可以从多个不同的屏幕调用相同的CreateUse
interface IHRService
{
bool ValidateInfo(user _user)
}
这用于附加/可选验证,至少有2个实现。ValidateInfo是从UserService的CreateUser函数调用的。我想根据控制器调用UserService的内容将不同的IHRService注入UserService,这样我就可以从多个不同的屏幕调用相同的CreateUser函数,并能够跳过其中一个屏幕中的附加验证,而不是另一个屏幕中的验证
温莎有可能发生这样的事情吗?还是我走错了方向?我是否应该在特定控制器中获得正确的IHRService,然后将其传递到CreateUser函数中?我不知道是否理解您的意思,但您似乎可以将其注入UserService,并根据运行时的某些选项创建IHRService的具体实现。温莎与抽象工厂打交道非常好。这有意义吗?是的-谢谢你给我指明了正确的方向。我最后做的是使用“UsingFactoryMethod”,然后检查creationcontext中的名称空间(我的mvc应用程序中的一个“区域”),然后根据该名称空间返回正确的实现。谢谢
interface IHRService
{
bool ValidateInfo(user _user)
}