asp.net-mvc – 使用ASP.NET MVC,有没有办法捕获所有POST请求而
我在调试MVC应用程序时遇到了麻烦,我期待它依赖于POST.
是否有一种简单的方法来配置MVC 4应用程序来拦截所有POST请求,以便我可以看到它尝试发布到哪个URL以及响应是什么? 解决方法
通常,全局过滤器将是您想要的.但是,由于在路线确定之后才会触发,因此在这种情况下可能无法帮助您.
您可以尝试的一件事是在global.asax中添加Application_BeginRequest方法.它甚至不需要做任何事情.只需在其中设置断点,并检查Request.AppRelativeCurrentExecutionFilePath(或Request的其他成员)以查看入站路径是什么. protected void Application_BeginRequest() { if (Request.HttpMethod.Equals("post",StringComparison.InvariantCultureIgnoreCase)) { // Breakpoint here } } “global filter”是将行为等注入管道的优选方法. MVC已经实现了其中的一些,您也可以扩展或实现自己的. 我去年实现的一个具体示例:客户端站点具有使密码过期的功能.大;当用户在被告知时立即更改它时,工作正常.但是他们发现他们可以直接导航到网站的另一部分,直到他们下次登录才再次提示.所以我们添加了一个全局过滤器,检查密码是否过期(以及我们是否已经检查过在此会话中),如果是,则重定向到“更改密码”屏幕.更改后,他们可以返回到以前的任何地方. 但是,这样做的缺点是找出路由或绑定问题:路由引擎已经在全局过滤器获取之前评估了请求.如果无法识别目标操作,则甚至不会命中您的过滤器.因此,在这种情况下,像Application_BeginRequest这样的低级功能是您唯一的现实选择. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-core – 加密ASP.Net Core中的连接字符串和其他配置
- asp.net – web.config使用规则将非www或非https重定向到ht
- asp.net – 使用basicHttpBinding时无法识别的属性’transa
- asp.net – 在下拉列表中防范用户输入?
- asp.net-mvc-3 – 删除Razor MVC 3中的HTML格式
- asp.net – 检查所有文本框是否都为空的有效方法
- asp.net-core-mvc – MVC核心如何强制/设置所有操作的全局授
- asp.net – 如何实现跨数据库外键约束?
- asp.net-mvc – 命中错误:在解析器和自定义注册提供程序中
- asp.net-mvc – 无法安装Asp.net MVC 3
- 使用oAuth和ASP.NET MVC WebApi进行身份验证
- asp.net – web.config allowDefinition = Machi
- 内存不足 – 无限循环 – ASP.NET AJAX框架
- 容器HEALTHCHECK指令对接ASP.NET Core健康检查能
- asp.net-mvc-3 – 名称’ViewBag’在当前上下文中
- asp.net – 在同一行(左右)对齐标签和文本框
- 剃刀 – MVC布局VS MVC主页
- asp.net-mvc-3 – 我可以在App_Code之外使用全局
- asp.net – 无法创建页面方法“GetCompletionLis
- asp.net – 登录后重定向到上一页