EventLog.EntryWritten Událost

Definice

Vyvolá se při zápisu položky do protokolu událostí v místním počítači.

public:
 event System::Diagnostics::EntryWrittenEventHandler ^ EntryWritten;
public event System.Diagnostics.EntryWrittenEventHandler EntryWritten;
member this.EntryWritten : System.Diagnostics.EntryWrittenEventHandler 
Public Custom Event EntryWritten As EntryWrittenEventHandler 

Event Type

Příklady

Následující příklad zpracovává zapsanou událost záznamu.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
ref class MySample
{
private:

   // This member is used to wait for events.
   static AutoResetEvent^ signal;

public:
   static void main()
   {
      signal = gcnew AutoResetEvent( false );
      EventLog^ myNewLog = gcnew EventLog;
      myNewLog->Source = "testEventLogEvent";
      myNewLog->EntryWritten += gcnew EntryWrittenEventHandler( MyOnEntryWritten );
      myNewLog->EnableRaisingEvents = true;
      myNewLog->WriteEntry("Test message", EventLogEntryType::Information);
      signal->WaitOne();
   }

   static void MyOnEntryWritten( Object^ /*source*/, EntryWrittenEventArgs^ /*e*/ )
   {
      Console::WriteLine("In event handler");
      signal->Set();
   }

};

int main()
{
   MySample::main();
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample{

    // This member is used to wait for events.
    static AutoResetEvent signal;

    public static void Main(){

        signal = new AutoResetEvent(false);
        EventLog myNewLog = new EventLog("Application", ".", "testEventLogEvent");

        myNewLog.EntryWritten += new EntryWrittenEventHandler(MyOnEntryWritten);
        myNewLog.EnableRaisingEvents = true;
        myNewLog.WriteEntry("Test message", EventLogEntryType.Information);
        signal.WaitOne();
    }

    public static void MyOnEntryWritten(object source, EntryWrittenEventArgs e){
        Console.WriteLine("In event handler");
        signal.Set();
    }
}
Option Explicit On 
Option Strict On

Imports System.Diagnostics
Imports System.Threading


Class MySample

    ' This member is used to wait for events.
    Private Shared signal As AutoResetEvent


    Public Shared Sub Main()

        signal = New AutoResetEvent(False)
        Dim myNewLog As New EventLog("Application", ".", "testEventLogEvent")

        AddHandler myNewLog.EntryWritten, AddressOf MyOnEntryWritten
        myNewLog.EnableRaisingEvents = True
        myNewLog.WriteEntry("Test message", EventLogEntryType.Information)

        signal.WaitOne()
    End Sub


    Public Shared Sub MyOnEntryWritten(ByVal [source] As Object, ByVal e As EntryWrittenEventArgs)
        Console.WriteLine("In event handler")
        signal.Set()
    End Sub
End Class

Poznámky

Pokud chcete dostávat oznámení o událostech, musíte nastavit EnableRaisingEvents na true. Oznámení o událostech můžete přijímat pouze v případě, že jsou položky zapsány v místním počítači. Nelze přijímat oznámení pro položky zapsané ve vzdálených počítačích.

Při vytváření delegáta EntryWritten identifikujete metodu, která bude událost zpracovávat. Pokud chcete událost přidružit k obslužné rutině události, přidejte do události instanci delegáta. Obslužná rutina události je volána vždy, když dojde k události, dokud neodeberete delegáta. Další informace o zpracování událostí pomocí delegátů najdete v tématu Zpracování a vyvolávání událostí.

Systém reaguje pouze v WriteEntry případě, že poslední událost zápisu nastala nejméně šest sekund před. To znamená, že během šestisekundového intervalu obdržíte pouze jedno EntryWritten oznámení o události, a to i v případě, že dojde k více než jedné změně protokolu událostí. Pokud mezi volání WriteEntryvložíte dostatečně dlouhý interval spánku (přibližně 10 sekund) , je méně pravděpodobné, že zmeškáte událost. Pokud se však události zápisu vyskytují častěji, může se stát, že oznámení o události obdržíte až v dalším intervalu. Oznámení o zmeškaných událostech se obvykle neztratí, ale zpozdí.

Platí pro

Viz také