EventInstance Costruttori

Definizione

Consente di inizializzare una nuova istanza della classe EventInstance utilizzando informazioni nella lingua di sistema per definire una voce del log eventi.

Overload

EventInstance(Int64, Int32)

Consente di inizializzare una nuova istanza della classe EventInstance utilizzando gli identificatori di risorse specificati per il messaggio e il testo della categoria localizzati della voce dell'evento.

EventInstance(Int64, Int32, EventLogEntryType)

Consente di inizializzare una nuova istanza della classe EventInstance utilizzando gli identificatori di risorse specificati per il messaggio e il testo della categoria localizzati della voce dell'evento e il tipo di voce del log eventi specificato.

EventInstance(Int64, Int32)

Origine:
EventData.cs
Origine:
EventData.cs
Origine:
EventData.cs

Consente di inizializzare una nuova istanza della classe EventInstance utilizzando gli identificatori di risorse specificati per il messaggio e il testo della categoria localizzati della voce dell'evento.

C#
public EventInstance (long instanceId, int categoryId);

Parametri

instanceId
Int64

Identificatore di risorsa che corrisponde a una stringa definita nel file di risorse del messaggio dell'origine eventi.

categoryId
Int32

Un identificatore di risorsa che corrisponde a una stringa definita nel file di risorse della categoria dell'origine eventi o a zero, se non specifica nessuna categoria per l'evento.

Eccezioni

Il instanceId parametro è un valore negativo o un valore maggiore di UInt32.MaxValue.

-oppure-

Il categoryId parametro è un valore negativo o un valore maggiore di UInt16.MaxValue.

Esempio

Nell'esempio EventInstance di codice seguente viene scritta una voce di evento informativo e quindi viene riutilizzata per scrivere una voce per un evento di avviso in un registro eventi esistente. Il testo del messaggio di evento viene specificato usando un identificatore di risorsa in un file di risorse del messaggio. L'esempio di codice presuppone che il file di risorse del messaggio corrispondente sia stato registrato per l'origine.

C#

// Ensure that the source has already been registered using
// EventLogInstaller or EventLog.CreateEventSource.

string sourceName = "SampleApplicationSource";
if(EventLog.SourceExists(sourceName))
{
    // Define an informational event with no category.
    // The message identifier corresponds to the message text in the
    // message resource file defined for the source.
    EventInstance myEvent = new EventInstance(UpdateCycleCompleteMsgId, 0);

    // Write the event to the event log using the registered source.
    EventLog.WriteEvent(sourceName, myEvent);

    // Reuse the event data instance for another event entry.
    // Set the entry category and message identifiers for
    // the appropriate resource identifiers in the resource files
    // for the registered source.  Set the event type to Warning.

    myEvent.CategoryId = RefreshCategoryMsgId;
    myEvent.EntryType = EventLogEntryType.Warning;
    myEvent.InstanceId = ServerConnectionDownMsgId;

    // Write the event to the event log using the registered source.
    // Insert the machine name into the event message text.
    EventLog.WriteEvent(sourceName, myEvent, Environment.MachineName);
}
else
{
    Console.WriteLine("Warning - event source {0} not registered",
        sourceName);
}

L'esempio di codice usa il file di testo del messaggio seguente, integrato nella libreria di risorse EventLogMsgs.dll. Un file di testo del messaggio è l'origine da cui viene creato il file di risorse del messaggio. Il file di testo del messaggio definisce gli identificatori di risorsa e il testo per la categoria, il messaggio di evento e le stringhe di inserimento dei parametri.

; // EventLogMsgs.mc  
; // ********************************************************  

; // Use the following commands to build this file:  

; //   mc -s EventLogMsgs.mc  
; //   rc EventLogMsgs.rc  
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res   
; // ********************************************************  

; // - Event categories -  
; // Categories must be numbered consecutively starting at 1.  
; // ********************************************************  

MessageId=0x1  
Severity=Success  
SymbolicName=INSTALL_CATEGORY  
Language=English  
Installation  
.  

MessageId=0x2  
Severity=Success  
SymbolicName=QUERY_CATEGORY  
Language=English  
Database Query  
.  

MessageId=0x3  
Severity=Success  
SymbolicName=REFRESH_CATEGORY  
Language=English  
Data Refresh  
.  

; // - Event messages -  
; // *********************************  

MessageId = 1000  
Severity = Success  
Facility = Application  
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000  
Language=English  
My application message text, in English, for message id 1000, called from %1.  
.  

MessageId = 1001  
Severity = Warning  
Facility = Application  
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001  
Language=English  
My application message text, in English, for message id 1001, called from %1.  
.  

MessageId = 1002  
Severity = Success  
Facility = Application  
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002  
Language=English  
My generic information message in English, for message id 1002.  
.  

MessageId = 1003  
Severity = Warning  
Facility = Application  
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003  
Language=English  
My generic warning message in English, for message id 1003, called from %1.  
.  

MessageId = 1004  
Severity = Success  
Facility = Application  
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004  
Language=English  
The update cycle is complete for %%5002.  
.  

MessageId = 1005  
Severity = Warning  
Facility = Application  
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005  
Language=English  
The refresh operation did not complete because the connection to server %1 could not be established.  
.  

; // - Event log display name -  
; // ********************************************************  

MessageId = 5001  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID  
Language=English  
Sample Event Log  
.  

; // - Event message parameters -  
; //   Language independent insertion strings  
; // ********************************************************  

MessageId = 5002  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID  
Language=English  
SVC_UPDATE.EXE  
.  

Commenti

Per scrivere una voce informativo in un registro eventi, inizializzare un EventInstance oggetto e passarlo al WriteEvent metodo. Impostare su l'identificatore instanceId di risorsa del messaggio di evento nella proprietà corrispondente MessageResourceFile per l'origine. Impostare su categoryId un valore di categoria numerico o sull'identificatore di risorsa della categoria di eventi nella CategoryResourceFile proprietà dell'origine. Impostare su categoryId zero per nessuna categoria di eventi. La EntryType proprietà per la nuova istanza è impostata su Information per impostazione predefinita.

Il Visualizzatore eventi usa gli identificatori di risorsa per visualizzare le stringhe corrispondenti dai file di risorse localizzati per l'origine. È necessario registrare l'origine con i file di risorse corrispondenti prima di poter scrivere eventi usando identificatori di risorsa.

Vedi anche

Si applica a

.NET Framework 4.8.1 e altre versioni
Prodotto Versioni
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

EventInstance(Int64, Int32, EventLogEntryType)

Origine:
EventData.cs
Origine:
EventData.cs
Origine:
EventData.cs

Consente di inizializzare una nuova istanza della classe EventInstance utilizzando gli identificatori di risorse specificati per il messaggio e il testo della categoria localizzati della voce dell'evento e il tipo di voce del log eventi specificato.

C#
public EventInstance (long instanceId, int categoryId, System.Diagnostics.EventLogEntryType entryType);

Parametri

instanceId
Int64

Identificatore di risorsa che corrisponde a una stringa definita nel file di risorse del messaggio dell'origine eventi.

categoryId
Int32

Un identificatore di risorsa che corrisponde a una stringa definita nel file di risorse della categoria dell'origine eventi o a zero, se non specifica nessuna categoria per l'evento.

entryType
EventLogEntryType

Valore EventLogEntryType che indica il tipo di evento.

Eccezioni

entryType non è un valore valido di EventLogEntryType.

instanceId è un valore negativo o un valore maggiore di UInt32.MaxValue.

-oppure-

categoryId è un valore negativo o un valore maggiore di UInt16.MaxValue.

Esempio

Nell'esempio di codice seguente vengono scritti due voci di evento di controllo nel registro myNewLogeventi . L'esempio di codice crea una nuova origine evento e un nuovo registro eventi se non esistono nel computer locale. Il testo del messaggio di evento viene specificato usando un identificatore di risorsa in un file di risorse.

C#

// Create the event source if it does not exist.
string sourceName = "SampleApplicationSource";
if(!EventLog.SourceExists(sourceName))
{
    // Call a local method to register the event log source
    // for the event log "myNewLog."  Use the resource file
    // EventLogMsgs.dll in the current directory for message text.

    string messageFile =  String.Format("{0}\\{1}",
        System.Environment.CurrentDirectory,
        "EventLogMsgs.dll");

    CreateEventSourceSample1(messageFile);
}

// Get the event log corresponding to the existing source.
string myLogName = EventLog.LogNameFromSourceName(sourceName,".");

EventLog myEventLog = new EventLog(myLogName, ".", sourceName);

// Define two audit events.

// The message identifiers correspond to the message text in the
// message resource file defined for the source.
EventInstance myAuditSuccessEvent = new EventInstance(AuditSuccessMsgId, 0, EventLogEntryType.SuccessAudit);
EventInstance myAuditFailEvent = new EventInstance(AuditFailedMsgId, 0, EventLogEntryType.FailureAudit);

// Insert the method name into the event log message.
string [] insertStrings = {"EventLogSamples.WriteEventSample1"};

// Write the events to the event log.

myEventLog.WriteEvent(myAuditSuccessEvent, insertStrings);

// Append binary data to the audit failure event entry.
byte [] binaryData = { 3, 4, 5, 6 };
myEventLog.WriteEvent(myAuditFailEvent, binaryData, insertStrings);

L'esempio di codice usa il file di testo del messaggio seguente, integrato nella libreria di risorse EventLogMsgs.dll. Un file di testo del messaggio è l'origine da cui viene creato il file di risorse del messaggio. Il file di testo del messaggio definisce gli identificatori di risorsa e il testo per la categoria, il messaggio di evento e le stringhe di inserimento dei parametri.

; // EventLogMsgs.mc  
; // ********************************************************  

; // Use the following commands to build this file:  

; //   mc -s EventLogMsgs.mc  
; //   rc EventLogMsgs.rc  
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res   
; // ********************************************************  

; // - Event categories -  
; // Categories must be numbered consecutively starting at 1.  
; // ********************************************************  

MessageId=0x1  
Severity=Success  
SymbolicName=INSTALL_CATEGORY  
Language=English  
Installation  
.  

MessageId=0x2  
Severity=Success  
SymbolicName=QUERY_CATEGORY  
Language=English  
Database Query  
.  

MessageId=0x3  
Severity=Success  
SymbolicName=REFRESH_CATEGORY  
Language=English  
Data Refresh  
.  

; // - Event messages -  
; // *********************************  

MessageId = 1000  
Severity = Success  
Facility = Application  
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000  
Language=English  
My application message text, in English, for message id 1000, called from %1.  
.  

MessageId = 1001  
Severity = Warning  
Facility = Application  
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001  
Language=English  
My application message text, in English, for message id 1001, called from %1.  
.  

MessageId = 1002  
Severity = Success  
Facility = Application  
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002  
Language=English  
My generic information message in English, for message id 1002.  
.  

MessageId = 1003  
Severity = Warning  
Facility = Application  
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003  
Language=English  
My generic warning message in English, for message id 1003, called from %1.  
.  

MessageId = 1004  
Severity = Success  
Facility = Application  
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004  
Language=English  
The update cycle is complete for %%5002.  
.  

MessageId = 1005  
Severity = Warning  
Facility = Application  
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005  
Language=English  
The refresh operation did not complete because the connection to server %1 could not be established.  
.  

; // - Event log display name -  
; // ********************************************************  

MessageId = 5001  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID  
Language=English  
Sample Event Log  
.  

; // - Event message parameters -  
; //   Language independent insertion strings  
; // ********************************************************  

MessageId = 5002  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID  
Language=English  
SVC_UPDATE.EXE  
.  

Commenti

Per scrivere una voce in un registro eventi, inizializzare un EventInstance oggetto e passarlo al WriteEvent metodo. Impostare su l'identificatore instanceId di risorsa del messaggio di evento nella proprietà corrispondente MessageResourceFile per l'origine. Impostare su categoryId un valore di categoria numerico o sull'identificatore di risorsa della categoria di eventi nella CategoryResourceFile proprietà dell'origine. Impostare su categoryId zero per nessuna categoria di eventi.

Il Visualizzatore eventi usa gli identificatori di risorsa per visualizzare le stringhe corrispondenti dai file di risorse localizzati per l'origine. È necessario registrare l'origine con i file di risorse corrispondenti prima di poter scrivere eventi usando identificatori di risorsa.

Impostare su entryType uno dei tipi di voce predefiniti. Il Visualizzatore eventi usa il tipo di evento per determinare quale icona visualizzare nella visualizzazione elenco del registro eventi.

Vedi anche

Si applica a

.NET Framework 4.8.1 e altre versioni
Prodotto Versioni
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9