Проблема с defaultRedirect в Web.Config <customErrors> - PullRequest
4 голосов
/ 01 сентября 2011

Я использую Asp.net 4.

Здесь настройки для моего файла Web.Config.

    <customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="/ErrorPages/Oops.aspx">
        <error statusCode="404" redirect="/ErrorPages/404.aspx" />
    </customErrors>

Мне нужно применить URL-адрес defaultRedirect для любого исключения и используйте redirectMode="ResponseRewrite" только для Страница не найдена 404 .

С этим параметром в настоящий момент я могу правильно управлять страницей не найдена (я могу получить 404.aspxстраница), но если возникает исключение на любой другой странице, я получаю "Internet Explorer cannot display the webpage", и я не могу достичь defaultRedirect Oops.aspx.

Что я здесь делаю неправильно?Спасибо

Ответы [ 3 ]

2 голосов
/ 17 сентября 2012

Одной из проблем, связанных с использованием страницы aspx в качестве цели пользовательского перенаправления ошибок, является то, что цели, которые не являются специфическими для страницы (например, ошибки в global.asax; обработка ошибок web.config), также будут выбрасываться целью страница, которая может привести к бесконечному циклу перенаправления.

По этой причине часто лучше иметь статическую HTML-страницу в качестве цели по крайней мере для defaultRedirect.

1 голос
/ 17 сентября 2012

Сколько байтов составляет содержимое страницы ошибки и устанавливает ли он код состояния HTTP, отличный от 200, в порядке?В Internet Explorer, для которого включен параметр «Показывать дружественные сообщения об ошибках HTTP» (по умолчанию), пользовательские страницы ошибок, длина которых не превышает 512 байт, будут подавляться браузером IE и заменяться сообщением об ошибке «friendly».1002 * Чтобы проверить, не является ли это вашей проблемой, вы можете попробовать отключить опцию «Показывать дружественные сообщения об ошибках HTTP» в меню «Сервис», «Свойства обозревателя», «Дополнительно», «Настройки».Он будет находиться в категории «Просмотр» в области «Настройки».

Если страница отображается с отключенной опцией, попробуйте снова включить ее и изменить страницу, чтобы добавить изображение или другой элемент, который сделаетразмер более 512 байт.

1 голос
/ 17 сентября 2012

Попробуйте вставить ~ в URL перенаправления.

redirect = "~ / ErrorPages / 404.aspx"

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