castle-windsor – 如何在ASP.NET 4 RC WebAPI中将依赖注入到动作过滤器中?
发布时间:2020-05-25 10:10:23 所属栏目:asp.Net 来源:互联网
导读:我正在使用Windsor在WebAPI项目中为我的控制器管理IoC.我有一个很好地解决控制器依赖关系的DependencyResolver,但现在我想将依赖关系注入我用来管理身份验证的自定义操作过滤器. 我已经研究过使用自定义的ActionInvoker,但是从接口上看,WebAPI正在使用如何在
|
我正在使用Windsor在WebAPI项目中为我的控制器管理IoC.我有一个很好地解决控制器依赖关系的DependencyResolver,但现在我想将依赖关系注入我用来管理身份验证的自定义操作过滤器. 我已经研究过使用自定义的ActionInvoker,但是从接口上看,WebAPI正在使用如何在执行之前解析自定义操作过滤器属性的属性依赖关系并不清楚.任何人都有一个很好的例子,说明如何在MVC 4 RC中做到这一点? 编辑:我知道你不能对过滤器进行构造函数注入,因为它们是属性,因此由.NET框架实例化 – 但我希望执行生命周期中的某些点在过滤器实例化之后发生但是在执行之前,我可以运行一些自定义代码来枚举过滤器的公共属性并注入必要的服务. 解决方法动作过滤器是属性.在.NET属性中,实例化过程由.NET运行时管理,您无法控制它.所以一种可能性是使用 Poor Man’s Dependency Injection,我个人建议你反对.另一种可能性是使用标记属性: public class MyActionFilterAttribute : Attribute
{
}
然后使用构造函数注入动作过滤器: public class MyActionFilter : ActionFilterAttribute
{
private readonly IFoo _foo;
public MyActionFilter(IFoo foo)
{
_foo = foo;
}
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (actionContext.ActionDescriptor.GetCustomAttributes<MyActionFilterAttribute>().Any())
{
// The action is decorated with the marker attribute =>
// do something with _foo
}
}
}
然后在Application_Start中将其注册为全局操作过滤器: IFoo foo = .... GlobalConfiguration.Configuration.Filters.Add(new MyActionFilter(foo)); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Asp.net配合easyui实现返回json数据实例
- asp.net – 为什么我应该使用N层方法当使用SqlDatasource时
- asp.net-mvc – MVC和NOSQL:直接将视图模型保存到MongoDB?
- asp.net – 服务器端/客户端或两者用户输入验证
- ASP.net使用表单将数据插入到sql server表中
- asp.net-mvc – 使用一组复杂数据类型调用UpdateModel会重置
- asp.net-mvc – 无法加载文件或程序集”或其依赖项之一.该进
- ASP.NET LinkButton / ImageButton和JQuery验证?
- asp.net-mvc – 如何将默认值显示为空白而不是类型的默认值
- asp.net – Page.RouteData.Values对于一个页面是空的而不是
推荐文章
站长推荐
- ASP.NET MVC 3 ValidateRequest(false)不能使用F
- asp.net-core – 需要dotnet core 2.1才能在visu
- asp.net-mvc – 为什么我的视图模型中的内部成员
- asp.net – 在与页面相同的文件夹中使用用户控件
- asp.net – IIS Web Garden中的Singleton对象
- asp.net会员 – asp.net会员 – 设置注释字段
- asp.net-mvc-3 – 找不到布局页面“{path}”
- asp.net – 嵌套的web.config转换
- asp.net-mvc-3 – 将AuthorizeAttribute应用于控
- asp.net – web配置错误:无法识别的属性’xmlns
热点阅读
