asp.net-mvc-3 – MVC 3中的BeginRequest类过滤器?
我的应用程序中有一些代码,我需要在任何其他操作(即使在身份验证之前)执行每个请求.到目前为止,我一直在Global.asax中使用Application_BeginRequest事件,这一切都很好.但是这个代码需要打到数据库,而且由于某种原因,Global.asax这样做是不正确的.此外,我使用的Ninject.MVC3 nuget不会将依赖关系注入到我的HttpApplication ctor中.
所以我决定做的是将这个代码移动到自己的全局动作过滤器中.我现在遇到的问题是,无论什么Order或FilterScope我给这个过滤器,我不能让它先执行;我的授权过滤器总是打败它. MSDN似乎证实了这一点:
我知道我可以使用一个HttpModule,但是并不感觉到MVCish,所以我试图在去之前耗尽所有可能性,这导致了我的问题: 是否有等同于全局动作过滤器的BeginRequest? 解决方法
您可以在基本控制器的
Initialize方法中执行此操作.
另一种可能性是注册一个global filter: public class MyGlobalFilter : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { // that's gonna be hit } } 并在您的Global.asax的RegisterGlobalFilters事件中: public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); filters.Add(new MyGlobalFilter()); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 通过CSS重置HTML元素的高度
- asp.net-mvc – 使用WCF IOC Structuremap的SOA架构
- asp.net – SignalR(Hub)可以发送除信号制作者之外的消息吗
- asp.net – 为什么当试图保存更改时,GridView行“null”的D
- U8登录 TQLoginHelper 调用目标发生异常
- asp.net-mvc – 用任意内容封装可重用视图部分(即tile,port
- asp.net-mvc-3 – 放置模板视图和骨干视图代码的最佳实践是
- asp.net-mvc-routing – 如何检查给定路径是否存在路由(ASP
- asp.net – 使用Web API和JSON补丁文档进行模型验证
- asp.net-mvc – 什么时候使用ViewData而不是ViewModels?
- 浅谈ASP.NET Core 2.0 布局页面(译)
- asp.net – 如何使用IIS7在web.config中设置处理
- 如何在ASP.NET中设置表单提交的目标框架?
- asp.net-mvc – bool的MVC Route Constraint
- asp.net-core – aspnet核心应用程序中的Autofac
- asp.net-mvc – 为什么Asp.NET MVC通过Asp.NET W
- asp.net-mvc-3 – 似乎无法有条件地使用Razor的f
- asp.net-mvc – MVC 6:如何使用RESX文件?
- 防止ASP.Net MVC视图中的visual studio自动缩进C
- asp.net-mvc – ASP.NET MVC:奇怪的POST行为