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-mvc – 使用Nuget打包源代码
- asp.net – 在PostBack期间Recaptcha消失
- 实体框架 – Asp.Net Web API错误:’ObjectContent`1’类型
- asp.net – DotNetOpenAuth.WebServerClient.XSRF-会话在回
- 在ASP.Net中使用Page_Load和Page_PreRender
- asp.net – Azure WebJob超时配置设置
- 在ASP.NET捆绑和缩小中将样式的URL转换为CDN URL
- asp.net-mvc-4 – ASP.Net Web Api在POST上不绑定模型
- asp.net-mvc – MVC – 编辑对象列表
- asp.net-mvc – 根据活动页面有条件地显示部分视图
- asp.net-mvc – 为什么Hangfire需要身份验证才能
- 如何从ASP.NET MVC视图显示存储在数据库中的HTML
- ASP.NET MVC正则表达式路由约束
- asp.net-mvc – 在自定义Html帮助器中访问模型对
- asp.net-mvc-4 – SimpleMembershipInitializer不
- asp.net-mvc-4 – 无法加载文件或程序集’System
- asp.net-mvc – ASP.Net MVC捆绑和分类
- asp.net-mvc – 如何在没有其他操作匹配的情况下
- asp-classic – 使用SMTP身份验证的经典ASP发送电
- asp.net-mvc – 使用ASP.NET MVC 2 AsyncControl
