Ron*_*nie 5 asp.net-mvc dependency-injection castle-windsor authorize
我正在尝试实现我的自定义授权属性,如:
public class MyCustomAuth : AuthorizeAttribute
{
private readonly IUserService _userService;
public MyCustomAuth(IUserService userService)
{
_userService= userService;
}
... continued
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Castle Windsor自动解决依赖关系.
当我尝试将它用作动作方法的属性时,显然我被要求传递参数,或者我需要一个无参数的构造函数,它应该以某种方式解析它的依赖性.
我试图用属性注入依赖项,但Windsor没有注入它.
我现在看到的唯一选择是手动实例化具体对象依赖性,从而失去Windsor的好处.
你会如何解决这个问题?
你不能将DI与属性一起使用 - 它们是元数据;
public class MyCustomAuth : AuthorizeAttribute
{
public void OnAuthorization(...)
{
IUserService userService = ServiceLocator.Current.GetInstance<IUserService>();
}
}
Run Code Online (Sandbox Code Playgroud)
在这里了解Windsor/ServiceLocator .
看到类似的问题在这里.
| 归档时间: |
|
| 查看次数: |
1220 次 |
| 最近记录: |