WebApplicationLifetimeEvent Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje významnou událost v průběhu životnosti aplikace.
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
- Dědičnost
Příklady
Následující příklad kódu ukazuje, jak odvodit z WebApplicationLifetimeEvent třídy vytvořit vlastní událost.
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
Následující výňatek konfiguračního souboru ukazuje, jak nakonfigurovat healthMonitoring
oddíl konfiguračního souboru tak, aby se do systému ASP.NET pro monitorování stavu přidal SampleWebApplicationLifetimeEvent
kód definovaný výše. Chcete-li přidat událost do systému, musíte událost definovat přidáním nové položky do oddílu eventMappings
a namapovat událost na zprostředkovatele přidáním nové položky do oddílu 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>
Poznámky
ASP.NET monitorování stavu umožňuje provozním a provozním pracovníkům spravovat nasazené webové aplikace. Obor System.Web.Management názvů obsahuje typy událostí stavu zodpovědné za balení dat stavu aplikace a typy zprostředkovatelů zodpovědné za zpracování těchto dat. Obsahuje také podpůrné typy, které pomáhají při správě událostí stavu.
Události životnosti aplikace zahrnují události, jako jsou události spuštění a vypnutí aplikace. Pokud je aplikace ukončena, můžete zjistit důvod zobrazením pole zprávy související události.
WebApplicationLifetimeEvent Když dojde k instanci, ASP.NET monitorování stavu aktualizuje čítač výkonu Události životnosti aplikace. Tyto události můžete protokolovat přidáním objektu WebApplicationLifetimeEventrules
do pododdílu v oddílu healthMonitoring
konfiguračního souboru, jak je znázorněno v následujícím příkladu.
<rules>
<add name="Application Events"
eventName="Application Lifetime Events"
provider="EventLogProvider"
profile="Default"
minInterval="00:01:00" />
</rules>
Čítač výkonu Události životnosti aplikace obsahuje celkový součet všech událostí ASP.NET životnosti. Pokud chcete tento čítač výkonu zobrazit v nástroji Sledování systému (PerfMon), vyberte v okně Přidat čítačeASP.NET z rozevíracího seznamu Objekt výkonu . Vyberte čítač výkonu Události životnosti aplikace a klikněte na tlačítko Přidat . Další informace najdete v tématu Použití nástroje Sledování systému (PerfMon) s aplikacemi ASP.NET na webu MSDN. Pokud povolíte protokolování událostí pomocí standardu EventLogWebEventProvider, můžete je zobrazit v Prohlížeči událostí výběrem protokolu aplikace .
Upozornění
Vzhledem k tomu, že WebApplicationLifetimeEvent objekt je událost s velkým objemem dat, je protokolování náročné na prostředky a může zpomalit váš systém. Může také způsobit přepsání jiných událostí v případě EventLogWebEventProvider třídy kvůli velkému objemu událostí a způsobu, jakým protokolování událostí funguje.
Poznámka
Ve většině případů budete moct použít ASP.NET typy monitorování stavu tak, jak jsou implementovány, a systém monitorování stavu budete řídit zadáním hodnot v healthMonitoring
části konfigurace. Můžete také odvodit z typů monitorování stavu a vytvořit vlastní události a zprostředkovatele. Příklad odvození z WebApplicationLifetimeEvent třídy najdete v příkladu uvedeném v tomto tématu.
Poznámky pro dědice
Při formátování vlastních informací o událostech pro zobrazení přepište metodu FormatCustomEventDetails(WebEventFormatter)ToString místo metody . Vyhnete se tak přepsání nebo manipulaci s citlivými informacemi o systému.
Konstruktory
WebApplicationLifetimeEvent(String, Object, Int32, Int32) |
Inicializuje WebApplicationLifetimeEvent třídu pomocí zadaných parametrů. |
WebApplicationLifetimeEvent(String, Object, Int32) |
Inicializuje WebApplicationLifetimeEvent třídu pomocí zadaných parametrů. |
Vlastnosti
EventCode |
Získá hodnotu kódu přidruženou k události. (Zděděno od WebBaseEvent) |
EventDetailCode |
Získá kód podrobností události. (Zděděno od WebBaseEvent) |
EventID |
Získá identifikátor přidružený k události. (Zděděno od WebBaseEvent) |
EventOccurrence |
Získá čítač, který představuje počet výskytů události. (Zděděno od WebBaseEvent) |
EventSequence |
Získá kolikrát byla vyvolána událostí aplikace. (Zděděno od WebBaseEvent) |
EventSource |
Získá objekt, který vyvolá událost. (Zděděno od WebBaseEvent) |
EventTime |
Získá čas, kdy byla událost vyvolána. (Zděděno od WebBaseEvent) |
EventTimeUtc |
Získá čas, kdy byla událost vyvolána. (Zděděno od WebBaseEvent) |
Message |
Získá zprávu, která popisuje událost. (Zděděno od WebBaseEvent) |
ProcessInformation |
Získá informace o ASP.NET procesu hostování aplikace. (Zděděno od WebManagementEvent) |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
FormatCustomEventDetails(WebEventFormatter) |
Poskytuje standardní formátování informací o události. (Zděděno od WebBaseEvent) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
IncrementPerfCounters() |
Používá se interně ke zvýšení čítačů výkonu. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
Raise() |
Vyvolá událost oznámením libovolného nakonfigurovaného zprostředkovatele, že k události došlo. (Zděděno od WebBaseEvent) |
ToString() |
Formátuje informace o událostech pro účely zobrazení. (Zděděno od WebBaseEvent) |
ToString(Boolean, Boolean) |
Formátuje informace o událostech pro účely zobrazení. (Zděděno od WebBaseEvent) |