404.20 ASP.net Core没有捕获异常

时间:2016-02-01 09:05:28

标签: asp.net-mvc iis error-handling asp.net-core custom-error-pages

我创建了一个新的ASP.net 5 MVC6项目并添加了以下内容:

app.UseStatusCodePages();

在我的configure方法中。如果我运行该应用程序,请打开我的Web浏览器并导航到以下URL:

http://localhost:34741/invalidroute 

我收到了:状态代码:404;找不到错误。这是预期的,但是如果我使路线更复杂,例如:

 http://localhost:34741/this/is/a/complicated/route/this/is/a/complicated/route/this/is/a/complicated/route/this/is/a/complicated/route/this/is/a/complicated/route/this/is/a/complicated/route/this/is/a/complicated/route/

我收到了HTTP错误404.20 - 未找到IIS详细错误页面。为什么这不再由asp处理?

我尝试在我的web.config文件中使用httpErrors,我也尝试在IIS中设置默认文档,但我无法获得自定义错误页面:(

2 个答案:

答案 0 :(得分:2)

https://support.microsoft.com/en-us/kb/943891

404.20来自IIS。有一个设置" maxurlSegments"控制允许的段数,您可以在

中找到

https://www.iis.net/configreference/system.applicationhost/sites/site/limits

修改IIS设置,错误应该消失。

答案 1 :(得分:0)

maxurlSegments设置需要在IIS中更改,好消息是可以针对单个站点或服务器级别更改设置