2016-02-01 7 views
0

Я создал MVC6 проект ASP.net 5 и добавил следующее:Пользовательские Ошибки в ASP.net MVC6

app.UseStatusCodePages(); 

внутри моего метода Configure. Если я запустить приложение, открыть свой веб-браузер и перейдите по следующему адресу:

http://localhost:33358/ReallyLongInvalidPathReallyLongInvalidPathReallyLongInvalidPathReallyLongInvalidPathReallyLongInvalidPathReallyLongInvalidPathReallyLongInvalidPathReallyLongInvalidPath

ASP Отображает сообщение об ошибке 404, который является ожидаемым поведением. Если бы я перейти к еще более недействителен URL, такие как:

http://localhost:33358/EvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPath

теперь я получаю следующее:

Bad Request - Неправильный URL

Если перейти к эквивалентной MSDN URL вы получаете тот же результат. Однако, если вы перейдете на эквивалентный URL-адрес stackoverflow, это как-то обработано. Как они справляются с этим? и как это можно сделать в ASP.net MVC6?

ответ

0

Вы получаете 404.15? возможно, длина строки запроса слишком велика для IIS. Проверьте это https://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits

Попробуйте изменить атрибут maxQueryString в разделе requestLimits thr в файле web.config, чтобы узнать, помогает ли он.

+0

Nope. Я получаю ту же ошибку, что и при нажатии на ссылку MSDN. –

+0

Я не уверен, что информация о статусе вспомогательного статуса отображается непосредственно на странице ошибки. Есть способы перенаправлять на разные страницы на основе кода вспомогательного статуса. Но я не уверен, работают ли эти конфигурации в MVC 6 (http://www.iis.net/learn/troubleshoot/diagnosing-http-errors/how-to-use-http-detailed-errors-in-iis). Работа над этим, возможно, еще не закончена. – Pratik

+0

Я почти уверен, что его даже не так далеко. Аналогично при посещении URL-адреса, например: http://stackoverflow.com/% –

Смежные вопросы