WebApplicationLifetimeEvent Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет значительное событие в жизненном цикле приложения.
public ref class WebApplicationLifetimeEvent : System::Web::Management::WebManagementEvent
public class WebApplicationLifetimeEvent : System.Web.Management.WebManagementEvent
type WebApplicationLifetimeEvent = class
inherit WebManagementEvent
Public Class WebApplicationLifetimeEvent
Inherits WebManagementEvent
- Наследование
Примеры
В следующем примере кода показано, как наследовать от WebApplicationLifetimeEvent класса для создания пользовательского события.
using System;
using System.Text;
using System.Web;
using System.Web.Management;
namespace SamplesAspNet
{
// Implements a custom WebManagementEvent class.
public class SampleWebApplicationLifetimeEvent :
System.Web.Management.WebApplicationLifetimeEvent
{
private string customCreatedMsg, customRaisedMsg;
// Invoked in case of events identified only by
// their event code.
public SampleWebApplicationLifetimeEvent(string msg,
object eventSource, int eventCode):
base(msg, eventSource, eventCode)
{
// Perform custom initialization.
customCreatedMsg =
string.Format("Event created at: {0}",
DateTime.Now.TimeOfDay.ToString());
}
// Invoked in case of events identified by their
// event code.and related event detailed code.
public SampleWebApplicationLifetimeEvent(string msg,
object eventSource, int eventCode,
int eventDetailCode):
base(msg, eventSource, eventCode, eventDetailCode)
{
// Perform custom initialization.
customCreatedMsg =
string.Format("Event created at: {0}",
DateTime.Now.TimeOfDay.ToString());
}
// Raises the SampleWebRequestEvent.
public override void Raise()
{
// Perform custom processing.
customRaisedMsg = string.Format(
"Event raised at: {0}\n",
DateTime.Now.TimeOfDay.ToString());
// Raise the event.
base.Raise();
}
//Formats Web request event information.
public override void FormatCustomEventDetails(
WebEventFormatter formatter)
{
base.FormatCustomEventDetails(formatter);
// Add custom data.
formatter.AppendLine("");
formatter.IndentationLevel += 1;
formatter.TabSize = 4;
formatter.AppendLine(
"*SampleWebApplicationLifetimeEvent Start *");
formatter.AppendLine("Custom information goes here");
formatter.AppendLine(
"* SampleWebApplicationLifetimeEvent End *");
// Display custom event timing.
formatter.AppendLine(customCreatedMsg);
formatter.AppendLine(customRaisedMsg);
formatter.IndentationLevel -= 1;
}
}
}
Imports System.Text
Imports System.Web
Imports System.Web.Management
' Implements a custom WebManagementEvent class.
Public Class SampleWebApplicationLifetimeEvent
Inherits System.Web.Management.WebApplicationLifetimeEvent
Private customCreatedMsg, customRaisedMsg As String
' Invoked in case of events identified only by
' their event code.
Public Sub New(ByVal msg As String, _
ByVal eventSource As Object, _
ByVal eventCode As Integer)
MyBase.New(msg, eventSource, eventCode)
' Perform custom initialization.
customCreatedMsg = _
String.Format("Event created at: {0}", _
DateTime.Now.TimeOfDay.ToString())
End Sub
' Invoked in case of events identified by their
' event code.and related event detailed code.
Public Sub New(ByVal msg As String, _
ByVal eventSource As Object, _
ByVal eventCode As Integer, _
ByVal eventDetailCode As Integer)
MyBase.New(msg, eventSource, _
eventCode, eventDetailCode)
' Perform custom initialization.
customCreatedMsg = _
String.Format("Event created at: {0}", _
DateTime.Now.TimeOfDay.ToString())
End Sub
' Raises the SampleWebRequestEvent.
Public Overrides Sub Raise()
' Perform custom processing.
customRaisedMsg = _
String.Format("Event raised at: {0}" + _
vbLf, DateTime.Now.TimeOfDay.ToString())
' Raise the event.
MyBase.Raise()
End Sub
'Formats Web request event information.
Public Overrides Sub FormatCustomEventDetails( _
ByVal formatter As WebEventFormatter)
MyBase.FormatCustomEventDetails(formatter)
' Add custom data.
formatter.AppendLine("")
formatter.IndentationLevel += 1
formatter.TabSize = 4
formatter.AppendLine( _
"*SampleWebApplicationLifetimeEvent Start *")
formatter.AppendLine("Custom information goes here")
formatter.AppendLine( _
"* SampleWebApplicationLifetimeEvent End *")
' Display custom event timing.
formatter.AppendLine(customCreatedMsg)
formatter.AppendLine(customRaisedMsg)
formatter.IndentationLevel -= 1
End Sub
End Class
В следующем фрагменте файла конфигурации показано, как настроить healthMonitoring
раздел файла конфигурации для добавления кода, определенного SampleWebApplicationLifetimeEvent
выше, в систему мониторинга работоспособности ASP.NET. Чтобы добавить событие в систему, необходимо определить событие, добавив новую запись в eventMappings
раздел, и сопоставить событие с поставщиком, добавив новую запись в rules
раздел.
<healthMonitoring
enabled="true"
heartBeatInterval="0">
<eventMappings>
<clear />
<!-- Configure the application lifetime event -->
<!-- object to handle the Web application events. -->
<add name="SampleApplicationLifetimeEvents"
type="System.Web.Management.SampleWebApplicationLifetimeEvent,
System.Web,Version=2.0.3600.0,
Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
</eventMappings>
<rules>
<clear/>
// Configure the connection between the
// application lifetime event object
// and the provider that must process it.
<add name="Custom Application Events"
eventName="SampleApplicationLifetimeEvents"
provider="EventLogProvider"
profile="Default"
minInterval="00:01:00" />
</rules>
</healthMonitoring>
Комментарии
ASP.NET мониторинг работоспособности позволяет рабочим и операционным сотрудникам управлять развернутыми веб-приложениями. Пространство System.Web.Management имен содержит типы событий работоспособности, отвечающие за упаковку данных о состоянии работоспособности приложения, и типы поставщиков, ответственные за обработку этих данных. Он также содержит вспомогательные типы, помогающие при управлении событиями работоспособности.
События времени существования приложения включают такие события, как события запуска и завершения работы приложения. Если приложение завершает работу, вы можете определить причину, просмотрев соответствующее поле сообщения о событии.
При возникновении экземпляра WebApplicationLifetimeEvent ASP.NET мониторинг работоспособности обновляет счетчик производительности Событий времени существования приложения. Эти события можно записать в журнал, WebApplicationLifetimeEvent добавив объект в rules
подраздел healthMonitoring
раздела файла конфигурации, как показано в следующем примере.
<rules>
<add name="Application Events"
eventName="Application Lifetime Events"
provider="EventLogProvider"
profile="Default"
minInterval="00:01:00" />
</rules>
Счетчик производительности "События времени существования приложения" содержит сумму всех ASP.NET событий времени существования. Чтобы просмотреть этот счетчик производительности в системном мониторе (PerfMon), в окне Добавление счетчиков выберите ASP.NET из раскрывающегося списка Объект производительности . Выберите счетчик производительности Событий времени существования приложения и нажмите кнопку Добавить . Дополнительные сведения см. в разделе Использование системного монитора (PerfMon) с ASP.NET приложениями на сайте MSDN. Если вы разрешаете регистрировать события в стандартном EventLogWebEventProviderрежиме , их можно просмотреть в средстве просмотра событий , выбрав журнал приложений .
Внимание!
WebApplicationLifetimeEvent Так как объект является событием большого объема, ведение журнала является ресурсоемким и может замедлить работу системы. Это также может привести к перезаписи других событий в случае EventLogWebEventProvider класса из-за большого объема событий и способа ведения журнала событий.
Примечание
В большинстве случаев вы сможете использовать ASP.NET типы мониторинга работоспособности, как реализовано, и вы будете управлять системой мониторинга работоспособности, указав значения в healthMonitoring
разделе конфигурации. Вы также можете наследовать от типов мониторинга работоспособности для создания собственных пользовательских событий и поставщиков. Пример наследования от WebApplicationLifetimeEvent класса см. в примере, приведенном в этом разделе.
Примечания для тех, кто наследует этот метод
При форматировании пользовательских сведений о событиях для отображения переопределите FormatCustomEventDetails(WebEventFormatter) метод, а не ToString метод . Это позволит избежать перезаписи или незаконного изменения конфиденциальной системной информации.
Конструкторы
WebApplicationLifetimeEvent(String, Object, Int32, Int32) |
Инициализирует класс WebApplicationLifetimeEvent, используя предоставленные параметры. |
WebApplicationLifetimeEvent(String, Object, Int32) |
Инициализирует класс WebApplicationLifetimeEvent, используя предоставленные параметры. |
Свойства
EventCode |
Получает значение кода, связанное с событием. (Унаследовано от WebBaseEvent) |
EventDetailCode |
Получает подробный код события. (Унаследовано от WebBaseEvent) |
EventID |
Получает идентификатор, связанный с событием. (Унаследовано от WebBaseEvent) |
EventOccurrence |
Получает значение счетчика, показывающее, сколько раз произошло событие. (Унаследовано от WebBaseEvent) |
EventSequence |
Получает количество порождений события приложением. (Унаследовано от WebBaseEvent) |
EventSource |
Получает объект, порождающий событие. (Унаследовано от WebBaseEvent) |
EventTime |
Получает время порождения события. (Унаследовано от WebBaseEvent) |
EventTimeUtc |
Получает время порождения события. (Унаследовано от WebBaseEvent) |
Message |
Получает сообщение, описывающее событие. (Унаследовано от WebBaseEvent) |
ProcessInformation |
Получает сведения о размещающем приложение процессе ASP.NET. (Унаследовано от WebManagementEvent) |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
FormatCustomEventDetails(WebEventFormatter) |
Обеспечивает стандартное форматирование сведений о событии. (Унаследовано от WebBaseEvent) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IncrementPerfCounters() |
Используется для внутренних целей для увеличения значений счетчиков производительности. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
Raise() |
Порождает событие, уведомляя любого настроенного поставщика о произошедшем событии. (Унаследовано от WebBaseEvent) |
ToString() |
Форматирует сведения события для последующего отображения. (Унаследовано от WebBaseEvent) |
ToString(Boolean, Boolean) |
Форматирует сведения события для последующего отображения. (Унаследовано от WebBaseEvent) |