Nyelv

EventInstance.CategoryId Tulajdonság

Definíció

Lekéri vagy beállítja az eseménybejegyzés alkalmazás által definiált kategóriáját meghatározó erőforrás-azonosítót.

public:
 property int CategoryId { int get(); void set(int value); };
public int CategoryId { get; set; }
member this.CategoryId : int with get, set
Public Property CategoryId As Integer

Tulajdonság értéke

Numerikus kategóriaérték vagy erőforrás-azonosító, amely megfelel az eseményforrás kategória-erőforrásfájljában meghatározott sztringnek. Az alapértelmezett érték nulla, ami azt jelenti, hogy az eseménybejegyzéshez nem jelenik meg kategória.

Kivételek

A tulajdonság értéke negatív vagy nagyobb, mint az UInt16.MaxValue.

Példák

Az alábbi példakód egy tájékoztató eseménybejegyzést ír, majd újra felhasználja a EventInstance figyelmeztető esemény bejegyzésének megírásához egy meglévő eseménynaplóba. Az eseményüzenet szövege egy üzenet-erőforrásfájl erőforrás-azonosítójának használatával van megadva. A példakód feltételezi, hogy a megfelelő üzenet erőforrásfájlja regisztrálva van a forráshoz.


// 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);
}
' Ensure that the source has already been registered using
' EventLogInstaller or EventLog.CreateEventSource.
Dim sourceName as String = "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.
    Dim myEvent As EventInstance = 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)
End If

A példakód az erőforrástárba EventLogMsgs.dllbeépített alábbi üzenetszövegfájlt használja. Az üzenetszövegfájl az a forrás, amelyből az üzenet erőforrásfájlja létrejön. Az üzenet szövegfájlja határozza meg a kategória, eseményüzenet és paraméterszúró sztringek erőforrás-azonosítóit és szövegét.

; // 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
.

Megjegyzések

Az eseménynapló-kategóriák alkalmazás által definiált értékek, amelyek segítenek szűrni az eseményeket, vagy további információkat nyújtanak az eseményről. Az alkalmazás például külön kategóriákat határozhat meg különböző összetevőkhöz vagy műveletekhez.

Állítsa be a CategoryId tulajdonságot annak a kategóriának a megadásához, amelyet a eseménymegtekintő megjelenít a bejegyzéshez. A eseménymegtekintő megjelenítheti a kategóriát numerikus értékként, vagy a CategoryId erőforrás-azonosítóként használhatja egy honosított kategóriasztring megjelenítéséhez az aktuális nyelvi beállítások alapján.

A honosított kategóriasztringek eseménymegtekintő való megjelenítéséhez egy kategóriaerőforrás-fájllal konfigurált eseményforrást kell használnia, és a CategoryId erőforrás-azonosítóra kell állítania a kategóriaerőforrás-fájlban. Ha az eseményforrás nem rendelkezik konfigurált kategóriaerőforrás-fájllal, vagy a megadott CategoryId nem indexel egy sztringet a kategória erőforrásfájljában, akkor a eseménymegtekintő megjeleníti a bejegyzés numerikus kategóriaértékét.

Az eseménykategóriák erőforrás-azonosítókkal való írása előtt regisztrálnia kell a forrást a megfelelő erőforrásfájlban. Konfigurálja a kategória-erőforrásfájlt, valamint az erőforrásfájlban lévő kategóriasztringek számát az vagy az EventLogInstallerEventSourceCreationData osztály használatával. Ha kategóriasztringeket határoz meg egy erőforrásfájlban, a kategória erőforrás-azonosítóit egymás után kell számba venni 1-től kezdve a konfigurált CategoryCount tulajdonságértékig.

Az eseménykategóriák megadása nem kötelező. Ha az alkalmazás nem használ kategóriákat, ne állítsa be az CategoryId eseménynapló-bejegyzést.

Az eseményüzenetek meghatározásával és az eseményerőforrás-fájlok létrehozásával kapcsolatos részletekért tekintse meg a Platform SDK dokumentációjában található Üzenetfordító cikket. Az eseménykategóriák erőforrásfájlokban való definiálásáról további információt a Platform SDK "Eseménykategóriák" című témakörében talál.

A következőre érvényes:

Lásd még