Веб-события в ASP.NET 2.0

Переводы статьи Переводы статьи
Код статьи: 893664 - Vizualiza?i produsele pentru care se aplic? acest articol.
Сведения о бета-версии
В данной статье рассматривается бета-версия Microsoft продукт. Информация в данной статье предоставляется как-это и является предметом изменяться без предварительного уведомления.

Не предоставляет официальной поддержки доступна из Корпорация Майкрософт для этой бета-версии продукта. Сведения о получении поддержки Бета-версии обратитесь к документации, поставляемой с бета-версии файлы продукта или проверьте расположение в Интернете, куда вы загрузили выпуск.
Служба поддержки ASP.NET
Для настройки этого столбца в соответствии с потребностями, мы приглашаем вас отправлять свои идеи по темам, которые интересуют вас и проблемы, которые вы хотите увидеть в будущем описываются статьи базы знаний и поддержка столбцов. Можно отправить ваши идеи и комментарии с использованием Попросите его форма. Есть также ссылка на форму в нижней части этой статьи.
Развернуть все | Свернуть все

В этой статье

Введение

Добро пожаловать в столбец голоса поддержки ASP.NET! Меня зовут Джерри Orman. Я был с корпорацией Майкрософт более пяти лет и потратили большую часть моей время фокус установлен на веб-технологии, такие как Microsoft FrontPage и новые Технологии SharePoint. Я посвятил работе с ASP.NET как последний год Инженер службы поддержки.

В этом месяце в столбце поддержка, я буду описывается новая функция веб-события в готовящемся выпуске ASP.NET 2.0.

Функция веб-событий в ASP.NET 2.0

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

Ведение журнала осуществляется путем определения правила события, связывает с поставщиком. Правило определяет тип события которое отправляется поставщику. Доступны следующие базовые события для входа:
Свернуть эту таблицуРазвернуть эту таблицу
WebBaseEventБазовым классом для всех событий. Содержит обязательные свойства для всех событий, например событий, подробный код события Дата и время возникновения события, порядковый номер сообщения о событии, и сведения о событии.
WebManagementEventБазовым класса для события управления, такие как время жизни приложения, запрос, ошибки и события аудита.
WebHeartbeatEventСобытия, созданного приложением в обычный интервалы для сбора полезной информация о состоянии.
WebAuditEventБазовый класс для событий аудита безопасности, которые используются Чтобы пометить условия, такие как время авторизации произошла ошибка, Сбой расшифровки, и т.д.
WebRequestEventБазовый класс для всех событий информационного запроса.
WebBaseErrorEventБазовый класс для всех событий, указывающих на ошибку условия.
Типы поставщиков, доступных позволяют отправлять выходные данные событий в окне просмотра событий SQL Server инструментария управления Windows (WMI) и сообщения электронной почты. Предварительно настроенные поставщики и сопоставления событий сократить объем действия, необходимые для получения выходных данных события входа.

ASP.NET 2.0 используется событие Журнал поставщика из производителей в журнал событий по начиная доменов приложений и остановки, а также ведение журнала все необработанные исключения. Это помогает для покрытия Некоторые из основных сценариев. Например, допустим, что приложение создает исключение, но он не сохраняет ошибки и вы не можете воспроизвести ее. С правило журнала событий по умолчанию, будет иметь возможность собирать исключение и стек сведения получить понять, какие ошибки Произошла. Или, если приложение теряет состояние сеанса, можно найти Журнал событий, чтобы определить ли перезапуск домена приложения и почему домен приложения в первую очередь остановлена.

Кроме того работоспособности Система мониторинга является расширяемым. Например можно определить пользовательские веб-события их запуска в приложении, а затем определить правило для отправки событий сведения для поставщика, например электронной почты. Это позволяет легко связать Ваш инструментарий для поставщиков мониторинга работоспособности. Другой пример: может инициировать событие каждый раз, заказ обработан и настроить правило, посылает каждое событие в базу данных SQL Server. Может также инициировать событие при пользователь не смог войти несколько раз подряд и настройка события для использования поставщики на основе электронной почты.

Конфигурации для поставщиков по умолчанию и событий хранится в глобальном файле Web.config. Глобальный файл Web.config сохраняет все веб-параметры, которые были сохранены в файле Machine.config в ASP.NET 1 x. Глобальный файл Web.config находится в следующих каталог:
%windir%\Microsoft.Net\Framework\v2.0.*\config\Web.config
В разделе <healthMonitoring>из глобального файла Web.config предоставляет параметры конфигурации по умолчанию. Можно переопределить эти параметры или собственные настройки путем реализации <healthMonitoring> раздел в файле Web.config для приложения.

В раздел <healthMonitoring>из глобального файла Web.config содержит следующие элементы: </healthMonitoring></healthMonitoring></healthMonitoring>
  • Поставщики Содержит поставщики для просмотра событий, WMI и SQL Сервер.
  • eventMappings Содержит сопоставления для различных классов WebBase. Можно расширить Этот список, если создать собственный класс событий. Создание собственного класса событий предоставляет детализированные данные через поставщиков, отправки данных. Для Пример, можно настроить необработанных исключений для отправки в SQL Server При отправке пользовательские события в сообщение электронной почты.
  • правила Ссылки eventMappings поставщику.
  • буферизация При помощи поставщиков SQL Server и электронной почты, чтобы определить, как часто Очистить события поставщику.
Ниже приведен пример кода из глобального файла Web.config.
<healthMonitoring>

	<!--  Event Log Provider being added. -->
	<providers>
      		<add name="EventLogProvider" type="System.Web.Management.EventLogWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
	</providers>


	<!--  Event mapping provides a friendly name to the events based on the WebBaseErrorEvent class.  -->

	<eventMappings>
			<add name="All Errors" type="System.Web.Management.WebBaseErrorEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"
						startEventCode="0" endEventCode="2147483647" />
	</eventMappings>


	<!-- Rule tying the "All Errors" event mapping to the EventLog Provider.  -->
	<rules>
      		<add name="All Errors Default" eventName="All Errors" provider="EventLogProvider"
						profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00"
						custom="" />
	</rules>

</healthMonitoring>

Пример поставщика

В этом примере поставщика содержит следующие файлы:
  • Файл ViewEvents.aspx — запускает пользовательский веб-событие MyEvent в событие Page_Load и записывать в журнал события кнопки click . У элемента управления GridView, который использует подключение к базе данных в Файл Web.config для получения списка события, зарегистрированные в SQL Server.

    Убедитесь, что Настройте connectionString в файле Web.config для указания базы данных ASPNETDB .
  • Файл Web.config — у различных поставщиков и настроены правила и в комментарии. Удалите метки комментария правило, требуется проверить, а затем найти Страницы Default.aspx и ViewEvent.aspx, чтобы увидеть результат выглядит т. п.
  • Файл MyEvent.cs — расположен в папке App_Data. Это используется в ViewEvents.aspx страницы для вызова пользовательского события.
  • Создает файл Default.aspx – System.NullReferenceException, чтобы узнать, какие необработанного журналы исключений.
  • Файл EmailTemplateTest.aspx — используется для TemplateemailProvider образца. Файл с выделенным кодом для файла EmailTemplateTest.aspx строк кода снять можно комментарий, который приведет к странице для создания исключения.

Сохранение событий в окне просмотра событий

Как я упоминал ранее, поставщик для ведения журнала событий в Окно просмотра событий настроен для вас в глобальном файле Web.config. По умолчанию регистрируются все события на основе WebBaseErrorEvent и WebFailureAuditEvent . Можно добавить дополнительные правила журнала Дополнительные сведения в журнале событий. Например если требуется вести журнал всех событий (то есть, каждое событие, основанное на WebBaseEvent), можно добавить следующее правило в файл Web.config:
<healthMonitoring>
	<rules>
		<add name="All Events" eventName="All Events" provider="EventLogProvider" profile="Critical"  />
	</rules>
</healthMonitoring>
Это правило будет являться ссылкой на карте Все события события поставщика журнала событий. Оба eventMapping и Поставщик, включаются в глобальном файле Web.config. Затем можно использовать Страница ViewEvents.aspx для запуска события, создаваемые при просмотре страницы. В страница также будет срабатывать пользовательское событие MyEvent в событии Page_Load и нажатия кнопки .

Для просмотра типа данных, Обзор Страница Default.aspx. Это будет вызывать исключение System.NullReferenceException и в событии будет регистрироваться следующее событие Средства просмотра:

Тип события: предупреждение
Источник события: ASP.NET 2.0.50601.0
Категория события: Веб-события
КОД события: 1311
Дата: 8/16/2005
Время: 9: 37: 44 PM
Пользователь: н/д
Компьютер: Имя компьютера
Описание:
Код события: 3005
Сообщение об ошибке: необработанное исключение.
Время события: 8/16/2005 9: 37: 44 PM
События времени (UTC): 8/17/2005 2: 37: 44 AM
КОД события: 88838b4e73cf4a0d9a36ac737ff9d1a0
Последовательность событий: 39
Вхождения события: 1
Подробный код события: 0
Сведения о приложении: домен приложения: d047d537-2-127687190240098660
Уровень доверия: полный
Виртуальные приложения Путь: /WebSite3
Путь приложения: Физический путь
Имя компьютера: Компьютер Имя
Обрабатывать информацию: идентификатор процесса: 3776
Имя процесса: WebDev.WebServer.EXE
Имя учетной записи: домен\пользователь
Сведения об исключении: Тип исключения: исключение NullReferenceException
Сообщение об исключении: ссылка на объект не установлено на экземпляр объекта.
Запрос сведений о: URL-адрес запроса: http://localhost:1698/WebSite3/Default.aspx
Путь запроса: /WebSite3/Default.aspx
Адрес хоста пользователя: 127.0.0.1
Пользователь: Домен\пользователь
Прошел: True
Тип проверки подлинности: NTLM
Поток имя учетной записи: домен\пользователь
Информация о потоке:
Идентификатор потока: 8
Поток имя учетной записи: домен\пользователь
Является олицетворением: False

Трассировка: в _Default.Page_Load (object sender, EventArgs e) в c:\Documents и Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.cs:line 15
в System.Web.Util.CalliHelper.EventArgFunctionCaller (fp IntPtr, объект o, объект t EventArgs e)
в System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e)
в System.Web.UI.Control.OnLoad (EventArgs e) на System.Web.UI.Control.LoadRecursive()
в System.Web.UI.Page.ProcessRequestMain (логическое includeStagesBeforeAsyncPoint, Логическое includeStagesAfterAsyncPoint)

Сведения о пользовательских событиях: для получения дополнительных сведений сведения, справки и поддержки по http://support.Microsoft.com.

Ведение журнала всех событий в журнал событий создает также информационные события. Следующее событие отображается URL-адрес последующие для запроса страницы авторизации:

События Тип: сведения
Источник события: ASP.NET 2.0.50601.0
Категория: Web События
КОД события: 1314
Дата: 8/16/2005
Время: 11: 04: 44 PM
Пользователь: Н/Д
Компьютер: Компьютер Имя
Описание:
Код события: 4003
Сообщение о событии: URL-адрес Авторизация для запроса прошла успешно.
Время события: 8/16/2005 11: 04: 44 PM
События времени (UTC): 8/17/2005 4: 04: 44 AM
КОД события: fec3d73fba0247eaba425e5ccfada18e
Последовательность событий: 2
Вхождения события: 1
Подробный код события: 0
Сведения о приложении:
Домен приложения: d047d537-1-127687250829701433
Уровень доверия: полный
Виртуальные приложения Путь: /WebSite3
Путь приложения: C:\Documents и Settings\user\Desktop\WebEvents\WebSite3\WebSite3\
Имя компьютера: Имя компьютера
Информация о процессе:
Процесс ID: 2292
Имя процесса: WebDev.WebServer.EXE
Имя учетной записи: Домен\пользователь
Информация о запросе:
URL-адрес запроса: http://localhost:2087/WebSite3/Default.aspx
Путь запроса: /WebSite3/Default.aspx
Адрес хоста пользователя: 127.0.0.1
Пользователь: Домен\пользователь
Прошел: True
Тип проверки подлинности: NTLM
Поток имя учетной записи: домен\пользователь

Сведения о пользовательских событиях:
Для получения дополнительных сведений сведения, справки и поддержки по http://support.Microsoft.com.

Сохранение событий в SQL Server

Этот метод используется база данных ASPNETDB , который создается средством Aspnet_regsql.exe. В Поставщик по умолчанию используется строка подключения LocalSqlServer, которая использует либо файловую базу данных в папке App_data или локальный экземпляр SQLExpress SQL Server. Строка подключения LocalSqlServer и SqlProvider настроить в глобальном файле Web.config.

LocalSqlServer Строка подключения в глобальном файле Web.config выглядит следующим образом:
<connectionStrings>
	<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>
Если вы хотите использовать другой сервер SQL Server, необходимо использовать Средство Aspnet_regsql.exe, которые можно найти в папка %WinDir%\Microsoft.Net\Framework\v2.0.*\Aspnet_regsql.exe. Использование Средство Aspnet_regsql.exe для создания пользовательской базе данных ASPNETDB на сервере SQL Server, а затем добавить строку подключения в .config приложения файл, а затем добавить поставщика с помощью нового Строка подключения. После создания базы данных ASPNETDB , необходимо задать правило для связи eventMapping sqlProvider.

Настройка пользовательской базе данных, выполните следующие действия.
  1. Создайте базу данных ASPNETDB .
    1. Запустите aspnet_regsql.exe –W и перебора мастер.
    2. Выполните команду, чтобы автоматизировать процесс: Aspnet_regsql –A w –S SQL Server -E.
  2. Добавить строку подключения, указывающую на базы данных, поэтому он выглядит следующим образом:
    <connectionStrings>
    	<add name="MYASPNETDB" connectionString="Server=<SQL Instance>;Integrated Security=SSPI;Database=aspnetdb"/>
    </connectionStrings>
  3. Добавить поставщика, который используется в строке подключения MYASPNETDB, поэтому он выглядит следующим образом:
    <healthMonitoring>
    	<providers>
    		<add name="MySqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider" connectionStringName="MYASPNETDB" maxEventDetailsLength="1073741823" buffer="false"/>
    	</providers>
    </healthMonitoring>
Ли SqlProvider по умолчанию или настроить собственные Поставщик, необходимо добавить правило для связывания поставщика с картой событий. В следующее правило связывает нового поставщика, созданный выше карты событий Все события . Это правило будет вести журнал всех событий, исходя из WebBaseEvent и отправить их в MySqlWebEventProvider, который будет использоваться Строка подключения MYASPNETDB. Следующий код добавляет правило для связи Поставщик с картой событий:
<healthMonitoring>
	<rules>
		<add name="All Events" eventName="All Events" provider="MySqlWebEventProvider" profile="Critical"/>
	</rules>
</healthMonitoring>
Если требуется только отправлять ошибки в SQL Server, можно добавить следующее правило:
<add name="All Errors" eventName="All Errors" provider="MySqlWebEventProvider" profile="Critical"/>

Как для передачи событий WMI

Можно также переслать события к WMI. Поставщик WMI настроены в глобальном файле Web.config по умолчанию.

В Следующий пример кода добавляет правило для пересылки событий WMI:
<providers>
	<add name="WmiWebEventProvider" type="System.Web.Management.WmiWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
Необходимо добавить правила для связи eventMapping для Поставщик, а также приложение слушателя WMI для прослушивания событий. В Следующий пример кода добавляет правило для связи поставщика WMI для сопоставления событий Все события :
<rules>
	<add name="All Events" eventName="All Events" provider="WmiWebEventProvider" profile="Critical"  />
</rules>
Пример консольного приложения SampleASPNET ManagementEventWatcher объект используется для отслеживания событий и их отображения в консоли окно.
Чтобы использовать SampleASPNET, выполните следующие действия.
  1. Запустите SampleASPNET.exe.
  2. Просмотреть страницу ViewEvents.aspx; После этого вы увидите события, указанные в консольном приложении.
  3. Нажмите кнопку Журнал событий Button_Click. Страницы обратной передачи, и вы увидите дополнительных также заносится в журнал событий.
Свернуть это изображениеРазвернуть это изображение
893664
Примечание При наблюдении за событиями на удаленном компьютере, прослушивание приложение должно выполняться на этом компьютере как учетной записи администратора доступ.

Как пересылать события в сообщение электронной почты

Можно также переслать события в сообщение электронной почты. Это позволит получить сведения о приложении непосредственно в вашем (вероятно избыточные) В папке «Входящие». Будьте осторожны при каких событиях правилам сопоставления к поставщику услуг электронной почты, как могут непреднамеренно отправлять, самостоятельно много информации, которая может быть лучше подходит для SQL Server и журнале событий.

Существуют два электронной почты Поставщики, SimpleMailWebEventProvider и TemplatedMailWebEventProvider. Каждый имеет те же атрибуты конфигурации, за исключением «шаблон» и атрибуты «detailedTemplateErrors», которые доступны только на TemplatedMailWebEventProvider.

Примечание Ни один из этих поставщиков электронной почты настраивается автоматически. Вы можете необходимо добавить их в файл Web.config.

Основное различие между Эти поставщики два электронной почты является SimpleMailWebEventProvider отправляет сообщения электронной почты Универсальный шаблон, который не может быть изменен. Добавляет файл Web.config примера Этот поставщик электронной почты в список настроенных поставщиков с помощью следующих правило:
<add name="mySimple-mailWebEventProvider" type="System.Web.Management.Simple-mailWebEventProvider"
to="e-mail@foo.com" from="e-mail@foo.com" maxMessagesPerNotification="1" maxEventsPerMessage="10"
buffer="true" bufferMode="Critical Notification"
subjectPrefix="Web Events"/>
Чтобы связать поставщика услуг электронной почты для сопоставления событий Все события также добавляется следующее правило:
<add name="All Events" eventName="All Events" provider="mySimple-mailWebEventProvider" profile="Critical"/>
Предупреждающее сообщение электронной почты следующего вида:
Тема: Уведомления о событии 12, часть 1: Web EventsMicrosoft.Samples.WebEvents.MyEvent событий, полученных в / WebSite3

** Сведения о приложении **
---------------
Домен приложения: d047d537-9-127687218865923053 Уровень доверия: полный виртуальный путь приложения: путь к приложению WebSite3: C:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ машины Имя:<computer name="">

** События **
---------------
События код: 100010
Сообщение о событии: Button1_Click
Время события: 8/16/2005 10: 12: 52 PM
События времени (UTC): 8/17/2005 3: 12: 52 AM
КОД события: последовательность событий 6e5cd252d6114a9e98687598dc6b5d50: 12 вхождения события: 5 событий подробно описан код: 0

Пользовательское событие Подробности:

---------------</computer>
Ниже приведен оповещения по электронной почте сообщение необработанное исключение:
Тема: Уведомление о событии 7, часть 1: Web EventsSystem.Web.Management.WebRequestErrorEvent событий, полученных в / WebSite3

** Сведения о приложении **
---------------
Домен приложения: d047d537-5-127687293149504903 Уровень доверия: полный виртуальный путь приложения: путь к приложению WebSite3: C:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ машины Имя:<computer name="">

** События **
---------------
События код: 3005
Сообщение об ошибке: необработанное исключение.
События время: 8/17/2005 12: 17: 37 AM
События времени (UTC): 8/17/2005 5: 17: 37 AM
Событие с кодом: последовательность событий 14b7f24102e140bbbae302d80e5a5f36: 7 событий вхождение: 1 события подробно описан код: 0

Информация о процессе:
Процесс ID: 2292
Имя процесса: WebDev.WebServer.EXE
Имя учетной записи: Домен\пользователь

Сведения об исключении:
Тип исключения: System.NullReferenceException
Сообщение об исключении: ссылка на объект не установлен к экземпляру объекта.

Информация о запросе:
URL-адрес запроса: http://localhost:2087/WebSite3/Default.aspx
Путь запроса: /WebSite3/Default.aspx
Адрес хоста пользователя: 127.0.0.1
Пользователь: Домен\пользователь
Прошел: True
Тип проверки подлинности: NTLM
Поток имя учетной записи: домен\пользователь

Информация о потоке:
ID потока: 7
Имя учетной записи потока: домен\пользователь
Является олицетворением: False
Стек Трассировка: в _Default.Page_Load (Object sender, EventArgs e) в c:\Documents и Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.cs:line 15
в System.Web.Util.CalliHelper.EventArgFunctionCaller (fp IntPtr, объект o, объект t EventArgs e)
в System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e)
в System.Web.UI.Control.OnLoad (EventArgs e) на System.Web.UI.Control.LoadRecursive()
в System.WebUI.Page.ProcessRequestMain (логическое includeStagesBeforeAsyncPoint, Логическое includeStagesAfterAsyncPoint)</computer>
TemplatedMailWebEventProvider позволяет указать страницу ASPX как шаблон--вы уже сами догадались--. В выходные данные страницы ASPX используется в теле сообщения электронной почты, позволяя Настройка внешнего вида получаемых данных.

Пример приложения использует следующий код, чтобы добавить TemplatedMailWebEventProvider файл Web.config файл и укажите страницу EmailTemplateTest.aspx в качестве шаблона. ( EmailTemplateTest.aspx страницу просматривает доступные события в буфере, и отображает их в таблицу.)
<add name="myTemplatedMailWebEventProvider" type="System.Web.Management.TemplatedMailWebEventProvider"
to="e-mail@foo.com" from="e-mail@foo.com " buffer="true"
bufferMode="Critical Notification" maxMessagesPerNotification="10" maxEventsPerMessage="10"
template="e-mailTemplateTest.aspx" detailedTemplateErrors="false" />
Предупреждающее сообщение электронной почты следующего вида:
Тема: Уведомления о событии 3, часть 1: 10 события, полученные в / WebSite3

Вхождение исходного времени код подробно код сообщения
4 System.Web.Security.UrlAuthorizationModule 8/17/2005 12: 40: 45 AM 4003 0 URL-адрес Авторизация для запроса прошла успешно.
4 8/17/2005 12: 40: 45 AM 4004 0 Авторизация файла для запроса прошла успешно.
7 ASP.ViewEvents_aspx 8/17/2005 12: 40: 45 AM 100010 0, загрузка страницы webevent
8 ASP.ViewEvents_aspx 8/17/2005 12: 40: 45 AM 100010 0 Button1_Click
5 SystemWeb.Security.UrlAuthorizationModule 8/17/2005 12: 40: 45 AM 4003 0 URL-адрес Авторизация для запроса прошла успешно.
5 8/17/2005 12: 40: 45 AM 4004 0 Авторизация файла для запроса прошла успешно.
9 ASP.ViewEvents_aspx 8/17/2005 12: 40: 45 AM 100010 0, загрузка страницы webevent
10 ASP.ViewEvents_aspx 8/17/2005 12: 40: 45 AM 100010 0 Button1_Click
6 System.Web.Security.UrlAuthorizationModule 8/17/2005 12: 40: 46 AM 4003 0 URL-адрес Авторизация для запроса прошла успешно.
6 8/17/2005 12: 40: 46 AM 4004 0 Авторизация файла для запроса прошла успешно.
В обоих случаях если буфер атрибут имеет значение false, сообщение будет содержать только одно событие. С буферизация, равным true, также необходимо указать bufferMode, который указывает как часто следует очистить буфер. Существуют некоторые bufferModes по умолчанию в глобальном Файл Web.config.

Если detailedTemplateErrors = «true», то все ошибки возникает при выполнении шаблона будет отправляться в теле сообщения электронной почты. Если detailedTemplateErrors = «false», передается универсальное сообщение об ошибке.

A Подробные ошибки EmailTemplateTest.aspx выглядит следующим образом:
Ошибка сервера в ' / WebSite3 "приложения.

Необработанное Возникло исключение во время выполнения страницы шаблона, используемого для создания Это уведомление о событии. 1 События, которые были частью этого сообщения были удаляются.

Описание: Произошло необработанное исключение во время выполнение текущего веб-запроса. Для получения дополнительных сведений просмотрите трассировку стека сведения об ошибке и где она была создана в код.

Сведения об исключении: System.Web.HttpException: состояние сеанса могут использовать только при enableSessionState присвоено значение true, либо в конфигурации файл или в директиве страницы. Также убедитесь в том System.Web.SessionStateModule или модуль состояния пользовательского сеанса включаются в <configuration>\<system.web>\<httpModules> раздел Конфигурация приложения.

Исходный файл: c:\Documents и Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs Строки: 17

Трассировка стека: [HttpException (0x80004005): состояние сеанса можно использовать только при enableSessionState присвоено значение true, либо в конфигурации файл или в директиве страницы. Также убедитесь в том System.Web.SessionStateModule или модуль состояния пользовательского сеанса включаются в <configuration>\<system.web>\<httpModules> раздел Конфигурация приложения.]
System.Web.UI.Page.get_Session() +146
e-mailTemplateTest.Page_Load(Object sender, EventArgs e) в c:\Documents и Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs:17
System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr FP объекта o, объект t EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Object sender, EventArgs e) +45
System.Web.UI.Control.OnLoad (EventArgs e) +80
SystemWeb.UI.Control.LoadRecursive() + 49
System.Web.UI.Page.ProcessRequestMain (логическое значение includeStagesBeforeAsyncPoint логические includeStagesAfterAsyncPoint) +3749

[HttpUnhandledException (0x80004005): исключение типа Был «System.Web.HttpUnhandledException» исключение.]
System.Web.UI.Page.HandleError (Exception e) +929
System.Web.UI.Page.ProcessRequestMain (логическое значение includeStagesBeforeAsyncPoint логические includeStagesAfterAsyncPoint) +7864
System.Web.UI.Page.ProcessRequest (логическое значение includeStagesBeforeAsyncPoint логические includeStagesAfterAsyncPoint) +229
System.Web.UI.Page.ProcessRequest() + 12
System.Web.UI.Page.ProcessRequest (контекст HttpContext) +80
System.Web.HttpServerUtility.ExecuteInternal (обработчике IHttpHandler Средство записи TextWriter, логическое preserveForm путь VirtualPath, VirtualPath filePath, строка physPath, ошибка, строка queryStringOverride) +1012

[HttpException (0x80004005): Ошибка выполнения дочернего запроса для / E-WebSite3-mailTemplateTest.aspx.]
System.Web.HttpServerUtility.ExecuteInternal (IHttpHandler обработчик, средство записи TextWriter, логическое preserveForm, путь VirtualPath, VirtualPath filePath, строка physPath, ошибка, строка queryStringOverride) +1525
System.Web.HttpServerUtility.Execute (строка пути, средство записи TextWriter Логическое preserveForm) +754
System.Web.HttpServerUtility.ExecuteLocalRequestAndCaptureResponse (строка путь, средство записи TextWriter, ErrorFormatterGenerator errorFormatterGenerator) +249</httpModules></system.web></configuration></httpModules></system.web></configuration>
Если атрибут имеет значение false, а ошибка, можно будет только сообщение универсальное сообщение об ошибке, который выглядит следующим образом:
Сервер Ошибка в ' / WebSite3 "приложения.

Произошло необработанное исключение во время выполнения страницы шаблона, используемого для создания этого события уведомления. 8 События, которые были частью этого сообщения были удаляются.

Описание: Текущая конфигурация не позволяет сведения об исключении включаются в это сообщение. Добавить "detailedTemplateErrors = true" для настройки поставщика для включения атрибута сведения об исключении будут сообщены.
Примечание Для атрибуты, связанные с буферизации, в результате каждого сброса уведомления. Если списания содержит больше событий, чем позволяет maxEventsPerMessage , уведомление будет выделить несколько сообщений электронной почты но они все еще считаются же уведомления. Например Сброс приводит к возникновению ошибки 13 события, но maxEventsPerMessage позволяет использовать только пять. Получите три сообщения электронной почты: первые два сообщения электронной почты каждый содержит пять событий, а третий электронной почты будет содержать три события.

Если имеются дополнительные электронные сообщения, чем позволяет maxMessagesPerNotification , некоторые события удаляются. Например, если задать maxMessagesPerNotification 2, и использовать же maxEventsPerMessage как описано выше, только получит два сообщения электронной почты. События, было бы на третий электронной почты удаляются. Любой падения или усечение уведомления будет отображаться в одном из сообщений электронной почты для простого поставщика. Верхней части сообщения электронной почты будет увидеть следующее:
** Предупреждения **
---------------
10 Событий, оставшихся на это период уведомления будут удалены, поскольку максимальное количество сообщений Допускается превышение уведомлений. (Идентификатор предупреждения: 101)
С момента контроль формата электронной почты для шаблонного поставщика, у вас есть Чтобы проверить падения/усечение самостоятельно и определить, следует ли включать в сообщения электронной почты.

Примечание Поставщики почты используют System.Net.Mail, поэтому необходимо настроить System.Net.Mail в файле Web.config.

Для получения дополнительных сведений сведения о схеме параметры ASP.NET, посетите следующий веб-узла корпорации Майкрософт сайт:
healthMonitoring элемент (ASP.NET Settings Schema)
http://msdn2.Microsoft.com/library/2fwh2ss9(en-US,VS.80).aspx
Дополнительные сведения о мониторинге работоспособности в ASP.NET 2.0 следующий веб-узел корпорации Майкрософт:
Использование мониторинга в ASP.NET 2.0
http://msdn2.Microsoft.com/en-us/library/ms998306.aspx
Как всегда, не стесняйтесь отправить идеи по разделам требуется, чтобы в будущем направлено столбцов или в базе знаний, с помощью Попросите его форма.

Свойства

Код статьи: 893664 - Последний отзыв: 30 ноября 2012 г. - Revision: 6.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft ASP.NET 2.0
Ключевые слова: 
kbhowto kbasp kbmt KB893664 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: 893664
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com