Реклама:

I

Server Explorer и найдите Management Events. В диалоговом окне Add Event Query вы можете выбрать событие, на которое хотите подписаться. Выберите пространство имен root/aspnet и класс BaseEvent (или наследованный класс). Visual Studio отобразит все события в окне вывода. Диалоговое окно подписки показано на рис. 7-10.

Байер Доминик Microsoft ASP.NET. Обеспечение безопасности. Мастер-класс

Рис. 7-10. Окно запроса событий в Visual Studio

Провайдер Email

Email является еще одним провайдером, который поддерживает буферизацию. Существует две его разновидности: simple и templated. Реальный интерес представляет шаблонный провайдер, поскольку он позволяет настраивать формат электронной почты и обладает функциональностью событий.

Провайдеры обоих типов зависят от элемента mailSettings, где задаются сервер электронной почты и мандаты. (Если установлена локальная служба SMTP, то поддерживаются также интегрированная защита и директория входящих сообщений на сервере.)

Конфигурирование сервера электронной почты

<systeffl.net> <mailSettings>

<smtp deliveryMetnod="Network"> <network

host="smtoservername'" userName="xxx" password="yyy" />

</smtp> </mailSettings> </system.net>

Шаблонный провайдер использует более «хитрый» способ. Вы предоставляете страницу MSpx в качестве шаблона сообщений электронной почты, после чего структура визуализирует ее в HTML и отсылает выходные данные по конфигурированному адресату. В шаблонной странице вы с помощью свойства CurrentNotification класса TèmplatedMailWebEventProvider получаете доступ к любой информации о событиях. Кроме того, в вашем распоряжении имеется список всех событий, которые будут очищены. Этот список можно использовать вместе с элементами контроля для связи с данными ASP.NET. Следующая шаблонная страница отображает сводку событий и таблицу, содержащую подробные сведения о событиях.

<И@ Page Language="C#" %>

<*@ Import Narcespace="System.Weo.Management" %>

<!D0CTYP£ html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ://www.w3.оrg/TR/xhtmll/DTD/xhtml1-transitional.dtd">

<script runat="server">

protected void Page Load(object sender, EventArgs e) {

// Получаем доступ < сбрасываемым событиям MallEventNotiflcatlonlnfo info ■ TemplatedMallWebEventProvi.de r, CurrentNotification;

_lblNotSequence.Text = "NotificationSequence: " +

info.NotiflcationSeauence: _lblMsgSeouence.Text = "messageSeouence: " +

infо.MessageSequence; _lblNotType.Text = "NotificationType: " + info.NotificationType;

_lblDiscarded.Text = "EventsDiscardedByBuffer; " +

info,EventsDiscardedByBuffer; _lblLastNot.Text = "LastNotificationUtc: " +

info.LastNotificationUtc.ToLocalTime().ToString();

// Привязываем сетку даииык к коллекции событий _g ridDetails.DataSource = info.Events; OataBlndO;

>

</script>

<html xmlns="http://www.w3.оrg/1999/xhtml"> <head runat="server">

<titie>Error Report</title> </heao>


⇐ Предыдущая страница| |Следующая страница ⇒