WebApplicationLifetimeEvent Sınıf

Tanım

Bir uygulamanın ömründeki önemli bir olayı temsil eder.

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
Devralma
WebApplicationLifetimeEvent

Örnekler

Aşağıdaki kod örneği, özel bir olay oluşturmak için sınıfından WebApplicationLifetimeEvent türetme işlemini gösterir.


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

Aşağıdaki yapılandırma dosyası alıntısı, yukarıda tanımlanan healthMonitoring kodunu ASP.NET sistem durumu izleme sistemine eklemek için yapılandırma dosyasının SampleWebApplicationLifetimeEvent bölümünün nasıl yapılandırılması gösterilmektedir. Olayı sisteme eklemek için, bölümüne yeni bir giriş ekleyerek olayı tanımlamanız ve bölüme eventMappings yeni bir giriş ekleyerek olayı bir sağlayıcıyla rules eşlemeniz gerekir.

<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>

Açıklamalar

ASP.NET sistem durumunu izleme, üretim ve operasyon personelinin dağıtılan Web uygulamalarını yönetmesine olanak tanır. Ad alanı, System.Web.Management uygulama sistem durumu verilerini paketlemeden sorumlu sistem durumu olay türlerini ve bu verileri işlemeden sorumlu sağlayıcı türlerini içerir. Ayrıca, sistem durumu olaylarının yönetimi sırasında yardımcı olan destekleyici türler içerir.

Uygulama ömrü olayları, uygulama başlatma ve kapatma olayları gibi olayları içerir. Bir uygulama sonlandırılırsa, ilgili olay iletisi alanını görüntüleyerek nedenini belirleyebilirsiniz.

bir WebApplicationLifetimeEvent örneği oluştuğunda, sistem durumu izleme ASP.NET Uygulama Ömrü Olayları performans sayacını güncelleştirir. Aşağıdaki örnekte gösterildiği gibi, nesnesini WebApplicationLifetimeEvent yapılandırma dosyasının rules bölümünün alt bölümüne ekleyerek healthMonitoring bu olayları günlüğe kaydedebilirsiniz.

<rules>
  <add name="Application Events"
    eventName="Application Lifetime Events"
    provider="EventLogProvider"
    profile="Default"
    minInterval="00:01:00" />
</rules>

Uygulama Ömrü Olayları performans sayacı, tüm ASP.NET yaşam süresi olaylarının toplamını içerir. Bu performans sayacını Sistem İzleyicisi'nde (PerfMon) görüntülemek için Add Counters penceresinde Performance nesnesi açılan listesinden ASP.NET seçin. Uygulama Ömrü Olayları performans sayacını seçin ve Ekle düğmesine tıklayın. Daha fazla bilgi için MSDN üzerindeki "Sistem İzleyicisi'ni (PerfMon) ASP.NET Uygulamalarıyla Kullanma" bölümüne bakın. Olayların standart EventLogWebEventProvider tarafından günlüğe kaydedilmesine izin verirseniz, Application günlüğünü seçerek bunları Olay Görüntüleyicisi içinde görüntüleyebilirsiniz.

Caution

WebApplicationLifetimeEvent Nesne yüksek hacimli bir olay olduğundan günlüğe kaydetme işlemi yoğun kaynak kullanır ve sisteminizi yavaşlatabilir. Ayrıca, yüksek hacimli olaylar ve olay günlüğünün EventLogWebEventProvider çalışma şekli nedeniyle sınıfın durumunda diğer olayların üzerine yazılması da neden olabilir.

Note

Çoğu durumda, uygulanan ASP.NET sistem durumu izleme türlerini kullanabilir ve healthMonitoring yapılandırma bölümünde değerleri belirterek sistem durumu izleme sistemini denetleyebilirsiniz. Kendi özel olaylarınızı ve sağlayıcılarınızı oluşturmak için sistem durumu izleme türlerinden de türetebilirsiniz. sınıfından türetme WebApplicationLifetimeEvent örneği için bu konuda sağlanan örne bakın.

Devralanlara Notlar

Görüntü için özel olay bilgilerinizi biçimlendirirken, yöntemi yerine FormatCustomEventDetails(WebEventFormatter) yöntemini geçersiz kılınToString. Bu, hassas sistem bilgilerinin üzerine yazılmasını veya üzerinde oynanmasını önler.

Oluşturucular

Name Description
WebApplicationLifetimeEvent(String, Object, Int32, Int32)

WebApplicationLifetimeEvent Sağlanan parametreleri kullanarak sınıfı başlatır.

WebApplicationLifetimeEvent(String, Object, Int32)

WebApplicationLifetimeEvent Sağlanan parametreleri kullanarak sınıfı başlatır.

Özellikler

Name Description
EventCode

Olayla ilişkili kod değerini alır.

(Devralındığı yer: WebBaseEvent)
EventDetailCode

Olay ayrıntı kodunu alır.

(Devralındığı yer: WebBaseEvent)
EventID

Olayla ilişkili tanımlayıcıyı alır.

(Devralındığı yer: WebBaseEvent)
EventOccurrence

Olayın kaç kez gerçekleştiğini gösteren bir sayaç alır.

(Devralındığı yer: WebBaseEvent)
EventSequence

Olayın uygulama tarafından kaç kez tetiklendiğini alır.

(Devralındığı yer: WebBaseEvent)
EventSource

Olayı tetikleyen nesneyi alır.

(Devralındığı yer: WebBaseEvent)
EventTime

Olayın oluşturulduğu zamanı alır.

(Devralındığı yer: WebBaseEvent)
EventTimeUtc

Olayın oluşturulduğu zamanı alır.

(Devralındığı yer: WebBaseEvent)
Message

Olayı açıklayan iletiyi alır.

(Devralındığı yer: WebBaseEvent)
ProcessInformation

ASP.NET uygulama barındırma işlemi hakkında bilgi alır.

(Devralındığı yer: WebManagementEvent)

Yöntemler

Name Description
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
FormatCustomEventDetails(WebEventFormatter)

Olay bilgilerinin standart biçimlendirmesini sağlar.

(Devralındığı yer: WebBaseEvent)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
IncrementPerfCounters()

Performans sayaçlarını artırmak için dahili olarak kullanılır.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
Raise()

Yapılandırılmış sağlayıcılara olayın gerçekleştiğini bildirerek bir olay oluşturur.

(Devralındığı yer: WebBaseEvent)
ToString()

Olay bilgilerini görüntüleme amacıyla biçimlendirin.

(Devralındığı yer: WebBaseEvent)
ToString(Boolean, Boolean)

Olay bilgilerini görüntüleme amacıyla biçimlendirin.

(Devralındığı yer: WebBaseEvent)

Şunlara uygulanır

Ayrıca bkz.