EventInstance.CategoryId Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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.