加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC 4 Catch-all仅在本地而不是在远程请

发布时间:2020-12-16 06:23:30 所属栏目:asp.Net 来源:网络整理
导读:在ASP.NET MVC 4应用程序中,我们设置了一个catch-all路由,如下所示: routes.MapRoute( name: "UnKnown",url: "{*url}",defaults: new { controller = "CatchAll",action = "UnknownUrl" }); CatchAllController中的UnknownUrl方法在我们的开发环境中正确加
在ASP.NET MVC 4应用程序中,我们设置了一个catch-all路由,如下所示:

routes.MapRoute( 
     name: "UnKnown",url: "{*url}",defaults: new { controller = "CatchAll",action = "UnknownUrl" });

CatchAllController中的UnknownUrl方法在我们的开发环境中正确加载其视图.

但是,如果到达不存在的远程请求,则生产IIS 7.5将显示其标准404页面.在服务器上使用RDP发送的本地请求工作正常.

web.config设置为tp

<customErrors mode="Off"/>

本地电话和远程电话之间还有什么区别?我们如何让MVC HttpHandler捕获这些请求?

一个提示可能是我们也无法在远程调用时让IIS显示任何详细状态500错误消息.

解决方法

我遇到了IIS显示默认错误而不是.NET错误的问题,我在web.config中的system.webServer中修复了以下内容:

<httpErrors existingResponse="PassThrough"/>

我想如果你在UnknownUrl动作中设置Response.StatusCode = 404;就会发生这种情况.默认情况下,IIS会看到您返回错误代码,因此显示默认错误消息,您可以使用该配置设置覆盖该错误消息.

我不确定在本地v遥控器上会有什么不同但是值得一试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读