Как использовать пользовательские и подробные режимы ошибок в IIS7, IIS7.5 - PullRequest
0 голосов
/ 24 декабря 2018

Условие

Я создал собственную веб-инфраструктуру, которая перехватывает ошибку 404 и отображает соответствующее содержимое в зависимости от URL-адреса (также отправляет правильный HTTP-код 200 или 404, если URL-адрес действителен или нет).).У меня есть весь фреймворк под одним / Default.asp (который включает в себя несколько файлов, но это не важно здесь).Он отлично работает под IIS6, но я не могу понять, как справиться с отладкой и разработкой под IIS7.

Проблема

Задача состоит в выборе правильного режима ошибок для web.configфайл.Если я установлю errorMode = Custom , тогда мой код работает, и я даже вижу ошибки в своем коде во время разработки, но я не могу отлаживать другие ASP-файлы, потому что любая ошибка там будет перенаправлена ​​на / default.asp вместо того, чтобы показывать его мне в браузере.

Поэтому, когда мне нужно отладить другие ASP-файлы, я бы изменил режим ошибки с Пользовательского на errorMode = Подробный

Тогда я могу легко увидеть номер строки и описание ошибки, но это, очевидно, означает, что мой фреймворк не сможет обрабатывать ошибки 404 для несуществующих URL-адресов.

Iкаждый раз, когда мне нужно что-то проверять, я переключаюсь в "танец" web.config Вот мой web.config файл:

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
  <system.webServer>
   <!-- I'm changing Custom to Detailed here when I need to debug -->
   <httpErrors errorMode="Custom">
     <remove statusCode="404" subStatusCode="-1" />
     <error statusCode="404" prefixLanguageFilePath=""
      path="/Default.asp" responseMode="ExecuteURL" />

<!-- I have experimented with this, but unsuccessfully, so I comment it out
      <remove statusCode="500" subStatusCode="-1" />
      <error statusCode="500" prefixLanguageFilePath="" 
       path="/Default.asp" responseMode="ExecuteURL" />
-->

   </httpErrors>
  <directoryBrowse enabled="false" />
 </system.webServer>
</configuration>

Вопрос:

Можно ли использовать оба метода одновременно?

Пользовательский файл .ASPобработать 404 (и, возможно, другие ошибки), а также оставить 500 ошибок для обработки сервером и отобразить подробную ошибку.

Все, что мне нужно, - это номер строки и описание ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...