Condividi tramite


Procedura: gestire l'evento EntryWritten

Aggiornamento: novembre 2007

Per i componenti EventLog è possibile creare gestori eventi in grado di chiamare automaticamente una routine quando viene scritta una voce in un log. Sebbene siano disponibili diversi modi per creare un gestore eventi per un'istanza del componente EventLog, il modo più semplice consiste nel configurare Visual Studio per la gestione automatica della maggior parte della sintassi. Quando si fa doppio clic sul componente EventLog nella finestra di progettazione, in Visual Studio viene visualizzato l'Editor di codice e viene creato il gestore eventi e la routine vuota da esso chiamata. È quindi possibile definire il codice per l'elaborazione che si desidera venga eseguita nel gestore eventi EntryWritten.

Per ulteriori informazioni sui gestori eventi, vedere Gestione e generazione di eventi.

Per creare un gestore predefinito per l'evento EntryWritten

  1. Nella finestra di progettazione fare doppio clic sul componente EventLog per il quale si desidera creare un gestore.

    Nota:

    Verrà visualizzato l'Editor di codice e verranno aggiunti al codice due elementi: il gestore, che consente di creare e registrare un delegato e di chiamare la routine, e una routine vuota per l'evento EntryWritten.

  2. Nella routine vuota per l'evento EntryWritten definire il codice per la ricezione e l'elaborazione delle voci quando viene chiamato l'evento. Il codice dovrebbe risultare simile al seguente:

    Private Sub EventLog1_EntryWritten(ByVal sender As System.Object, ByVal e As System.Diagnostics.EntryWrittenEventArgs) Handles EventLog1.EntryWritten
        If e.Entry.Source = "MyApplication" Then
            Console.WriteLine("Entry written by my app. Message: " & _
               e.Entry.Message)
        Else
            Console.WriteLine("Entry written by another application. ")
        End If
    End Sub
    
     private void eventLog1_EntryWritten(object sender, System.Diagnostics.EntryWrittenEventArgs e)
        {
            if (e.Entry.Source == "MyApplication")
                Console.WriteLine("Entry written by my application. Message: "
                   + e.Entry.Message);
            else
                Console.WriteLine("Entry was written by another application.");
        }
    
  3. Impostare la proprietà EnableRaisingEvents su true.

Per creare un gestore a livello di codice

  1. Utilizzare il metodo AddHandler per creare un gestore eventi di tipo EntryWrittenEventHandler per il componente che effettuerà la chiamata al metodo eventLog1_EntryWritten quando viene scritta una voce nel log. Il codice dovrebbe risultare simile al seguente:

    Public Sub method5()
        AddHandler EventLog1.EntryWritten, _
           New System.Diagnostics.EntryWrittenEventHandler( _
           AddressOf Me.EventLog1_EntryWritten)
    
         this.eventLog1.EntryWritten += new
               System.Diagnostics.EntryWrittenEventHandler(
               this.eventLog1_EntryWritten);
    
    Nota:

    Per ulteriori informazioni sulla sintassi, vedere Gestione e generazione di eventi.

  2. Creare la routine EntryWritten e definire il codice per l'elaborazione delle voci.

  3. Impostare la proprietà EnableRaisingEvents su true.

Vedere anche

Attività

Procedura: configurare istanze del componente EventLog

Procedura: configurare istanze del componente EventLog

Altre risorse

Gestione e generazione di eventi