Изменение customErrors в web.config полудинамически - PullRequest
1 голос
/ 24 мая 2010

Основная идея состоит в том, что у нас есть тестовая среда, которая имитирует Production, поэтому customErrors = "RemoteOnly". Мы только что создали тестовый жгут, который работает в тестовой среде и обнаруживает разрывы. Мы бы хотели, чтобы он мог отозвать подробную ошибку. Но мы не хотим включать customErrors = "On", потому что тогда это не имитирует Production.

Я много смотрел вокруг и много думал, и все, что я придумал, невозможно. Я ошибаюсь по поводу любого из этих пунктов?

  • Мы не можем включить customErrors во время выполнения, потому что когда вы вызываете configuration.Save () - он записывает web.config на диск, и теперь он выключен для каждого запроса.
  • Мы не можем символически связать файлы в новый каталог верхнего уровня с его собственным web.config, потому что мы находимся в Windows, а Subversion в Windows не делает символические ссылки.
  • Мы не можем использовать URL-Mapping для создания пустой папки dir2 с собственным web.config и отображения файлов в dir1 в dir2 - web.config не применяется
  • Мы не можем скопировать все файлы aspx в dir2 с его собственным web.config, потому что ни одна из ссылок не будет согласованной, и это ужасное хакерское решение.
  • Мы не можем изменить customErrors в web.config на основе имени хоста (например, добавить еще одну запись dns на тестовый сервер), поскольку это невозможно / поддерживается
  • Мы не можем выполнить какие-либо действия с виртуальным каталогом, чтобы он работал.

Если нет, есть ли способ выполнить то, что я пытаюсь сделать? При определенных обстоятельствах включить customErrors для всего сайта (имя DNS или даже значение строки запроса)?

1 Ответ

1 голос
/ 24 мая 2010

Если у вас customErrors = "On" или "remoteOnly", подробности ошибки не исчезнут, верно? Я имею в виду, что вы все еще можете получить к нему доступ и зарегистрировать его в другом источнике, используя свою страницу ошибки.

Почему у вас нет собственной страницы с ошибкой в ​​производственном журнале, где информация, где ваш жгут может получить к ней доступ, например, очередь сообщений или журнал событий приложения? Когда жгут наталкивается на разрыв, он просто должен быть достаточно умен, чтобы выполнить поиск в нужном месте для получения полной информации об ошибке.

Еще одна вещь, которую стоит рассмотреть.

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