Настройка вывода сообщений об ошибках с помощью ‹customErrors›

Настройка вывода сообщений об ошибках с помощью ‹customErrors›

Элемент ‹customErrors› может использоваться для автоматического перенаправления всех ошибок в пользовательский набор файлов *.htm. Это может оказаться полезным тогда, когда вы хотите построить более понятную для пользователя страницу информирования об ошибках по сравнению с той, которая предлагается средой CLR по умолчанию. В общем виде элемент ‹customErrors› выглядит так.

‹customErrors defaultRedirect="url" mode="On|Off|RemoteOnly"›

 ‹error statusCode="код_состояния" redirect="url"/›

‹/customErrors›

Чтобы предъявить пример применения элемента ‹customErrors›, предположим, что Web-приложение ASP.NET имеет два файла *.htm. Первый файл (genericError.htm) функционирует, как страница перехвата ошибок. Эта страница может содержать логотип вашей компании, ссылку на адрес электронной почты администратора системы и, например, сообщение с извинениями за доставленные пользователю неудобства. Второй файл (Error404.htm) – это пользовательская страница ошибки, которая должна появляться только тогда, когда среда выполнения обнаруживает ошибку с номером 404 (грозная ошибка "необнаруженного ресурса"). Если вы хотите, чтобы все ошибки обрабатывались этими пользовательскими страницами, вы можете изменить файл Web.config так, как предлагается ниже.

‹?xml version="1.0"?›

‹configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"›

 ‹appSettings/›

 ‹connectionStrings /›

 ‹system.web›

  ‹compilation debug= "false" /›

  ‹authentication mode="Windows"/›

  ‹customErrors defaultRedirect="genericError.htm" mode="On"›

   ‹error statusCodes="404" redirect="Error404.htm"/›

  ‹/customErrors›

 ‹/system.web›

‹/configuration›

Обратите внимание на то, что корневой элемент ‹customErrors› используется для указания имени общей страницы для всех необработанных ошибок. Одним из атрибутов, которые могут присутствовать в открывающем дескрипторе, является атрибут mode. Значением, устанавливаемым для этого атрибута по умолчанию, является RemoteOnly, дающее указание среде выполнения не отображать пользовательские страницы ошибок, если HTTP-запрос поступает с той же машины, где находится Web-cервер (это очень удобно для разработчиков, которым требуется видеть все подробности). Если установить для атрибута mode значение "on", это позволит видеть пользовательские ошибки на всех машинах (включая машину разработки). Также заметьте, что элемент ‹customErrors› может поддерживать любое число вложенных элементов ‹error›, с помощью которых можно указать, какая страница должна иcпользоваться для ошибки с тем или иным кодом.

Чтобы проверить работу пользовательского перенаправления ошибок, создайте страницу *.aspx с двумя элементами управления Button и обработайте их события Click так, как предлагается ниже.

private void btnGeneralError_Click(object sender, EventArgs e) {

 // Это генерирует ошибку общего вида.

 throw new Exception("Ошибка общего вида…");

}

private void btn404Error_Click(object sender, EventArgs e) {

 // Это генерирует ошибку 404 (при отсутствии файла MyPage.aspx).

 Response.Redirect("MyPage.aspx");

}

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Настройка параметров сериализации с помощью ISerializable

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Настройка параметров сериализации с помощью ISerializable Объекты, обозначаемые атрибутом [Serializable], имеют возможность реализовать интерфейс ISerializable. В этом случае вы можете "участвовать" в процессе сериализации, выполняя любое предварительное или последующее форматирование


Настройка Web-приложения ASP.NET с помощью Web.config

Из книги Office 2007. Мультимедийный курс автора Мединов Олег

Настройка Web-приложения ASP.NET с помощью Web.config При изучении компоновочных блоков .NET мы с вами выяснили, что приложения клиента могут использовать XML-файл конфигурации, содержащий инструкции CLR о том, как обрабатывать связанные запросы, где искать необходимые компоновочные


Получение и пересылка сообщений. Создание ответных сообщений

Из книги Интернет. Новые возможности. Трюки и эффекты [litres] автора Баловсяк Надежда Васильевна

Получение и пересылка сообщений. Создание ответных сообщений Чтобы получить новую почту, выполните команду главного меню Сервис ? Отправить/Получить ? Доставить почту либо нажмите клавишу F9. Все полученные почтовые сообщения будут помещены в папку Входящие и помечены


Тонкая настройка с помощью системного реестра

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

Тонкая настройка с помощью системного реестра Рассмотрим примеры настройки Internet Explorer с помощью реестра.Изменение заголовка Internet ExplorerОткройте Редактор реестра (для этого нужно в меню Пуск выбрать пункт Выполнить и в появившемся окне ввести команду regedit), перейдите в


В.З. Стандартные функции вывода сообщений об ошибках

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

В.З. Стандартные функции вывода сообщений об ошибках Мы определили свой набор функций, используемых во всех программах книги для обработки ситуаций с возникновением ошибок. Причина, по которой мы создаем эти функции, заключается в том, что теперь мы можем писать команды в


7.2.1 Типы сообщений об ошибках

Из книги О чём не пишут в книгах по Delphi автора Григорьев А. Б.

7.2.1 Типы сообщений об ошибках На рис. 7.3 показаны обобщенные сообщения, формируемые маршрутизатором и хостом назначения для отчета о возникшей проблеме. В таблице 7.1 перечислены формальные имена сообщений об ошибках ICMP. Рис. 7.3. Типы сообщений об ошибках ICMPТаблица 7.1


1.1.8. Обработка сообщений с помощью VCL

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

1.1.8. Обработка сообщений с помощью VCL При использовании VCL в простых случаях самостоятельно работать с оконными сообщениями нет нужды, поскольку практически все можно сделать с помощью свойств, методов и событий компонентов. Тем не менее, некоторые сообщения приходится


8.3.1. Настройка с помощью Network Manager

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

8.3.1. Настройка с помощью Network Manager Для настройки соединения с использованием Network Manager выберите команду меню Система | Параметры | Сетевые соединения, перейдите на вкладку DSL и нажмите кнопку Добавить. В открывшемся окне (рис. 8.2) введите имя пользователя и его пароль. Если у


8.3.2. Настройка с помощью конфигуратора pppoeconf

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

8.3.2. Настройка с помощью конфигуратора pppoeconf Чуть ранее я упомянул, что для настройки DSL-соединения применяется также конфигуратор pppoeconf. Этот конфигуратор работает в терминале, что позволяет использовать его, даже если графический интерфейс недоступен (или отключен,


8.4.2. Подавление вывода сообщений об ошибках

Из книги UNIX — универсальная среда программирования автора Пайк Роб

8.4.2. Подавление вывода сообщений об ошибках Допустим, вы хотите найти запись пользователя louise в системном файле паролей:$ grep louise /etc/passwdlouise:lxAL6GW9G.ZyY:501:501:Accounts Sect1С:/home/accts/louise:/bin/shHe исключена возможность, что вы забудете, как называется этот файл. В таком случае воспользуйтесь


Уровни вывода сообщений ядра

Из книги автора

Уровни вывода сообщений ядра Главное отличие между функциями printk() и printf() — это возможность в первой указывать уровень вывода сообщений ядра (loglevel). Ядро использует уровень вывода сообщений для принятия решения о том, выводить сообщение на консоль или нет. Ядро выводит на


Отправка сообщений об ошибках

Из книги автора

Отправка сообщений об ошибках Если вы обнаружили ошибку, то наилучшим решением будет исправить ее, сгенерировать соответствующую заплату, оттестировать и отправить, как это будет рассказано в следующих разделах. Конечно, можно и просто сообщить об ошибке, чтобы


Глава 6 Программирование с помощью стандартных функций ввода-вывода

Из книги автора

Глава 6 Программирование с помощью стандартных функций ввода-вывода До сих пор мы использовали существующие инструменты, чтобы разрабатывать новые, но сейчас уже достигнут разумный предел в создании новых средств с помощью shell, sed и awk. В этой главе нам предстоит написать