2014-01-20 1 views
0

Может ли «маршрут MVC 5» использоваться как path в элементе error в system.webServerhttpErrors раздел в web.config?Может ли «маршрут MVC 5» использоваться в качестве пути в элементе ошибки в разделе system.webServer httpErrors в web.config?

<configuration> 
...other config stuff... 
<system.webServer> 
    <httpErrors errorMode="Custom"> 
     <remove statusCode="404"/> 
     <error statusCode="404" path="/Error/NotFound" responseMode="ExecuteURL"/> 
    </httpErrors> 
    </system.webServer> 
</configuration> 
+0

Да, параметр responseMode важен для обеспечения правильной подачи удара в условиях ошибки. Какие результаты вы видите? – christofr

+0

Итак, ExecuteURL предназначен не только для страниц .aspx? Документы MSDN/IIS не совсем понятны. ExecuteURL \t Служит для динамического содержимого (например, файла .asp), указанного в атрибуте пути для пользовательской ошибки. Если для параметра responseMode установлено значение ExecuteURL, значение пути должно быть относительным URL-адресом сервера. Числовое значение равно 1 – PussInBoots

ответ

0

Да, вы можете это сделать. С responseMode="ExecuteURL" IIS внутренне «перенаправляет» (отправляет запрос для данного URL-адреса) и записывает результат в ответ.

Возможно, вы также захотите установить атрибут existingResponse в httpErrors до Replace.

Имейте в виду, что:

По архитектурным причинам, IIS 7.0 может только выполнить URL, если он находится в том же пула приложений. Используйте функцию перенаправления для выполнения пользовательской ошибки в другом пуле приложений.

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