Поделиться через


EventSource.WriteEvent Метод

Определение

Записывает событие, используя предоставленные идентификатор события и необязательные аргументы.

Перегрузки

WriteEvent(Int32, String, String, String)

Записывает событие, используя предоставленные идентификатор события и строковые аргументы.

WriteEvent(Int32, String, Int32, Int32)

Записывает событие, используя предоставленные идентификатор события и аргументы.

WriteEvent(Int32, Int64, Int64, Int64)

Записывает событие, используя предоставленные идентификатор события и 64-разрядные аргументы.

WriteEvent(Int32, Int32, Int32, Int32)

Записывает событие, используя предоставленные идентификатор события и 32-разрядные целочисленные аргументы.

WriteEvent(Int32, String, String)

Записывает событие, используя предоставленные идентификатор события и строковые аргументы.

WriteEvent(Int32, String, Int64)

Записывает событие, используя предоставленные идентификатор события и аргументы.

WriteEvent(Int32, String, Int32)

Записывает событие, используя предоставленные идентификатор события и аргументы.

WriteEvent(Int32, Int64, String)

Записывает событие, используя предоставленный идентификатор, а также строковые и 64-разрядные целочисленные аргументы.

WriteEvent(Int32, Int64, Int64)

Записывает событие, используя предоставленные идентификатор события и 64-разрядные аргументы.

WriteEvent(Int32, Int32, Int32)

Записывает событие, используя предоставленные идентификатор события и 32-разрядные целочисленные аргументы.

WriteEvent(Int32, Int32, String)

Записывает событие, используя предоставленный идентификатор, а также строковые и 32-разрядные целочисленные аргументы.

WriteEvent(Int32, String)

Записывает событие, используя предоставленные идентификатор события и строковый аргумент.

WriteEvent(Int32, Object[])

Записывает событие, используя предоставленные идентификатор события и массив аргументов.

WriteEvent(Int32, Int64)

Записывает событие, используя предоставленные идентификатор события и 64-разрядный целочисленный аргумент.

WriteEvent(Int32, Int32)

Записывает событие, используя предоставленные идентификатор события и 32-разрядный целочисленный аргумент.

WriteEvent(Int32, EventSource+EventSourcePrimitive[])

Записывает событие с помощью предоставленного идентификатора события и переменного числа примитивов источника событий.

WriteEvent(Int32, Byte[])

Записывает событие, используя предоставленные идентификатор события и аргумент в виде массива байтов.

WriteEvent(Int32)

Записывает событие, используя предоставленный идентификатор события.

WriteEvent(Int32, Int64, Byte[])

Записывает данные события, используя указанный идентификатор, а также 64-разрядные целочисленные аргументы и аргументы в виде массива байтов.

Комментарии

Метод WriteEvent предоставляет перегрузки с сочетаниями строковых и целочисленных аргументов. Если ни одно из этих сочетаний не соответствует параметрам вызова, компилятор использует перегрузку EventSource.WriteEvent(Int32, Object[]) , которая значительно медленнее, чем другие перегрузки. Дополнительные сведения см. на странице перегрузки.

Во всех случаях eventid параметр должен быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив поток вывода отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, сообщаемые в потоке событий ETW, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который идентифицируется как событие трассировки событий Windows в производном EventSourceклассе. Необходимо вызвать метод базового класса WriteEvent , передавая EventId те же аргументы и, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Вы также можете создать пользовательскую перегрузку WriteEventCore с помощью метода .

Важно!

Параметры события с типом string не должны содержать \0 символы. Они являются неподдерживаемых символами и могут вызвать проблемы для средств синтаксического анализа полезных данных события.

WriteEvent(Int32, String, String, String)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и строковые аргументы.

protected:
 void WriteEvent(int eventId, System::String ^ arg1, System::String ^ arg2, System::String ^ arg3);
protected void WriteEvent (int eventId, string arg1, string arg2, string arg3);
protected void WriteEvent (int eventId, string? arg1, string? arg2, string? arg3);
member this.WriteEvent : int * string * string * string -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As String, arg2 As String, arg3 As String)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
String

Строковый аргумент.

arg2
String

Строковый аргумент.

arg3
String

Строковый аргумент.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, String, Int32, Int32)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и аргументы.

protected:
 void WriteEvent(int eventId, System::String ^ arg1, int arg2, int arg3);
protected void WriteEvent (int eventId, string arg1, int arg2, int arg3);
protected void WriteEvent (int eventId, string? arg1, int arg2, int arg3);
member this.WriteEvent : int * string * int * int -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As String, arg2 As Integer, arg3 As Integer)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
String

Строковый аргумент.

arg2
Int32

32-разрядный целочисленный аргумент.

arg3
Int32

32-разрядный целочисленный аргумент.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, Int64, Int64, Int64)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и 64-разрядные аргументы.

protected:
 void WriteEvent(int eventId, long arg1, long arg2, long arg3);
protected void WriteEvent (int eventId, long arg1, long arg2, long arg3);
member this.WriteEvent : int * int64 * int64 * int64 -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Long, arg2 As Long, arg3 As Long)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
Int64

64-разрядный целочисленный аргумент.

arg2
Int64

64-разрядный целочисленный аргумент.

arg3
Int64

64-разрядный целочисленный аргумент.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, Int32, Int32, Int32)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и 32-разрядные целочисленные аргументы.

protected:
 void WriteEvent(int eventId, int arg1, int arg2, int arg3);
protected void WriteEvent (int eventId, int arg1, int arg2, int arg3);
member this.WriteEvent : int * int * int * int -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Integer, arg2 As Integer, arg3 As Integer)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
Int32

Целочисленный аргумент.

arg2
Int32

Целочисленный аргумент.

arg3
Int32

Целочисленный аргумент.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, String, String)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и строковые аргументы.

protected:
 void WriteEvent(int eventId, System::String ^ arg1, System::String ^ arg2);
protected void WriteEvent (int eventId, string arg1, string arg2);
protected void WriteEvent (int eventId, string? arg1, string? arg2);
member this.WriteEvent : int * string * string -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As String, arg2 As String)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
String

Строковый аргумент.

arg2
String

Строковый аргумент.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, String, Int64)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и аргументы.

protected:
 void WriteEvent(int eventId, System::String ^ arg1, long arg2);
protected void WriteEvent (int eventId, string arg1, long arg2);
protected void WriteEvent (int eventId, string? arg1, long arg2);
member this.WriteEvent : int * string * int64 -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As String, arg2 As Long)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
String

Строковый аргумент.

arg2
Int64

64-разрядный целочисленный аргумент.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, String, Int32)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и аргументы.

protected:
 void WriteEvent(int eventId, System::String ^ arg1, int arg2);
protected void WriteEvent (int eventId, string arg1, int arg2);
protected void WriteEvent (int eventId, string? arg1, int arg2);
member this.WriteEvent : int * string * int -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As String, arg2 As Integer)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
String

Строковый аргумент.

arg2
Int32

32-разрядный целочисленный аргумент.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, Int64, String)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленный идентификатор, а также строковые и 64-разрядные целочисленные аргументы.

protected:
 void WriteEvent(int eventId, long arg1, System::String ^ arg2);
protected void WriteEvent (int eventId, long arg1, string arg2);
protected void WriteEvent (int eventId, long arg1, string? arg2);
member this.WriteEvent : int * int64 * string -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Long, arg2 As String)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
Int64

64-разрядный целочисленный аргумент.

arg2
String

Строковый аргумент.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(Int64 arg1, string arg2)
{
    base.WriteEvent(2, arg1, arg2);
}

Применяется к

WriteEvent(Int32, Int64, Int64)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и 64-разрядные аргументы.

protected:
 void WriteEvent(int eventId, long arg1, long arg2);
protected void WriteEvent (int eventId, long arg1, long arg2);
member this.WriteEvent : int * int64 * int64 -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Long, arg2 As Long)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
Int64

64-разрядный целочисленный аргумент.

arg2
Int64

64-разрядный целочисленный аргумент.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, Int32, Int32)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и 32-разрядные целочисленные аргументы.

protected:
 void WriteEvent(int eventId, int arg1, int arg2);
protected void WriteEvent (int eventId, int arg1, int arg2);
member this.WriteEvent : int * int * int -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Integer, arg2 As Integer)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
Int32

Целочисленный аргумент.

arg2
Int32

Целочисленный аргумент.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(int arg1, int arg2, int arg3)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, Int32, String)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленный идентификатор, а также строковые и 32-разрядные целочисленные аргументы.

protected:
 void WriteEvent(int eventId, int arg1, System::String ^ arg2);
protected void WriteEvent (int eventId, int arg1, string arg2);
protected void WriteEvent (int eventId, int arg1, string? arg2);
member this.WriteEvent : int * int * string -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Integer, arg2 As String)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
Int32

32-разрядный целочисленный аргумент.

arg2
String

Строковый аргумент.

Применяется к

WriteEvent(Int32, String)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и строковый аргумент.

protected:
 void WriteEvent(int eventId, System::String ^ arg1);
protected void WriteEvent (int eventId, string arg1);
protected void WriteEvent (int eventId, string? arg1);
member this.WriteEvent : int * string -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As String)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
String

Строковый аргумент.

Примеры

В следующем примере показано, как использовать эту перегрузку метода для записи события. Этот пример входит в состав более крупного примера использования класса EventSource.

[Event(1, Message = "Application Failure: {0}", Level = EventLevel.Error, Keywords = Keywords.Diagnostic)]
public void Failure(string message) { WriteEvent(1, message); }
<[Event](1, Message:="Application Failure: {0}", Level:=EventLevel.Error, Keywords:=Keywords.Diagnostic)> _
Public Sub Failure(ByVal message As String)
    WriteEvent(1, message)
End Sub

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, Object[])

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и массив аргументов.

protected:
 void WriteEvent(int eventId, ... cli::array <System::Object ^> ^ args);
protected void WriteEvent (int eventId, params object[] args);
protected void WriteEvent (int eventId, params object?[] args);
member this.WriteEvent : int * obj[] -> unit
Protected Sub WriteEvent (eventId As Integer, ParamArray args As Object())

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

args
Object[]

Массив объектов .

Комментарии

По умолчанию компилятор вызывает эту перегрузку, если параметры для вызова не соответствуют одной из перегрузок других методов. Эта перегрузка выполняется гораздо медленнее, чем другие перегрузки, так как она выполняет следующие действия:

  1. Он выделяет массив для хранения аргумента переменной.

  2. Он приводит каждый параметр к объекту (что приводит к выделению для примитивных типов).

  3. Эти объекты назначаются массиву.

  4. Он вызывает функцию , которая затем определяет тип каждого аргумента, чтобы его можно было сериализовать для трассировки событий Windows.

Высокие издержки для этой перегрузки не являются значительными при трассировке событий с небольшим объемом, так как метод используется только при включенном поставщике. Однако для больших объемов событий издержки производительности могут быть значительными. Вы можете избежать использования EventSource.WriteEvent для больших полезных данных, создав новую, более быструю перегрузку WriteEventCore с помощью метода .

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, Int64)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и 64-разрядный целочисленный аргумент.

protected:
 void WriteEvent(int eventId, long arg1);
protected void WriteEvent (int eventId, long arg1);
member this.WriteEvent : int * int64 -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Long)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
Int64

64-разрядный целочисленный аргумент.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, Int32)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и 32-разрядный целочисленный аргумент.

protected:
 void WriteEvent(int eventId, int arg1);
protected void WriteEvent (int eventId, int arg1);
member this.WriteEvent : int * int -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Integer)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
Int32

Целочисленный аргумент.

Примеры

В следующем примере показано, как использовать эту перегрузку метода для записи события. Этот пример входит в состав более крупного примера использования класса EventSource.

[Event(4, Opcode = EventOpcode.Stop, Task = Tasks.Page, Keywords = Keywords.Page, Level = EventLevel.Informational)]
public void PageStop(int ID) { if (IsEnabled()) WriteEvent(4, ID); }
<[Event](4, Opcode:=EventOpcode.Stop, Task:=Tasks.Page, Keywords:=Keywords.Page, Level:=EventLevel.Informational)> _
Public Sub PageStop(ByVal ID As Integer)
    If IsEnabled() Then
        WriteEvent(4, ID)
    End If
End Sub

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив выходной поток отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, о которых сообщалось в потоке событий Windows, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который определяется как событие трассировки событий Windows в классе, производном EventSourceот . Необходимо вызвать метод базового класса WriteEvent , EventId передавая и те же аргументы, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(int  arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, EventSource+EventSourcePrimitive[])

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленный идентификатор события и переменное число примитивов источника событий.

protected:
 void WriteEvent(int eventId, ... cli::array <System::Diagnostics::Tracing::EventSource::EventSourcePrimitive> ^ args);
protected void WriteEvent (int eventId, params System.Diagnostics.Tracing.EventSource.EventSourcePrimitive[] args);
member this.WriteEvent : int * System.Diagnostics.Tracing.EventSource.EventSourcePrimitive[] -> unit
Protected Sub WriteEvent (eventId As Integer, ParamArray args As EventSource.EventSourcePrimitive())

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

args
EventSource.EventSourcePrimitive[]

Примитивы источника событий.

Комментарии

Это вспомогательное средство varargs для написания события. Он создает массив и упаковает все аргументы, поэтому он является относительно неэффективным и должен использоваться только для относительно редких событий (например, менее 100 в секунду). Если ваши показатели быстрее, используйте WriteEventCore(Int32, Int32, EventSource+EventData*) для создания быстрых вспомогательных помощников для конкретной сигнатуры метода. Даже если вы используете его для редких событий, этот вызов должен быть защищен IsEnabled() проверка, чтобы вызов varargs не был выполнен, когда EventSource не активен.

Применяется к

WriteEvent(Int32, Byte[])

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленные идентификатор события и аргумент в виде массива байтов.

protected:
 void WriteEvent(int eventId, cli::array <System::Byte> ^ arg1);
protected void WriteEvent (int eventId, byte[] arg1);
protected void WriteEvent (int eventId, byte[]? arg1);
member this.WriteEvent : int * byte[] -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Byte())

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
Byte[]

Аргумент в виде массива байтов.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив поток вывода отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, сообщаемые в потоке событий ETW, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который идентифицируется как событие трассировки событий Windows в производном EventSourceклассе. Необходимо вызвать метод базового класса WriteEvent , передавая EventId те же аргументы и, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(byte[] arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32)

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает событие, используя предоставленный идентификатор события.

protected:
 void WriteEvent(int eventId);
protected void WriteEvent (int eventId);
member this.WriteEvent : int -> unit
Protected Sub WriteEvent (eventId As Integer)

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

Примеры

В следующем примере показано, как использовать эту перегрузку метода для записи события. Этот пример входит в состав более крупного примера использования класса EventSource.

[Event(1, Message = "Application Failure: {0}", Level = EventLevel.Error, Keywords = Keywords.Diagnostic)]
public void Failure(string message) { WriteEvent(1, message); }
<[Event](1, Message:="Application Failure: {0}", Level:=EventLevel.Error, Keywords:=Keywords.Diagnostic)> _
Public Sub Failure(ByVal message As String)
    WriteEvent(1, message)
End Sub

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив поток вывода отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, сообщаемые в потоке событий ETW, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который идентифицируется как событие трассировки событий Windows в производном EventSourceклассе. Необходимо вызвать метод базового класса WriteEvent , передавая EventId те же аргументы и, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(string arg1)
{
    base.WriteEvent(2, arg1);
}

Применяется к

WriteEvent(Int32, Int64, Byte[])

Исходный код:
EventSource.cs
Исходный код:
EventSource.cs
Исходный код:
EventSource.cs

Записывает данные события, используя указанный идентификатор, а также 64-разрядные целочисленные аргументы и аргументы в виде массива байтов.

protected:
 void WriteEvent(int eventId, long arg1, cli::array <System::Byte> ^ arg2);
protected void WriteEvent (int eventId, long arg1, byte[] arg2);
protected void WriteEvent (int eventId, long arg1, byte[]? arg2);
member this.WriteEvent : int * int64 * byte[] -> unit
Protected Sub WriteEvent (eventId As Integer, arg1 As Long, arg2 As Byte())

Параметры

eventId
Int32

Идентификатор события. Это значение должно находиться в диапазоне от 0 до 65535.

arg1
Int64

64-разрядный целочисленный аргумент.

arg2
Byte[]

Аргумент в виде массива байтов.

Комментарии

eventid значение должно быть больше 0 или меньше 65535, иначе в операции могут возникнуть ошибки. В случае возникновения ошибок можно получить дополнительные сведения об источнике ошибки, проверив поток вывода отладчика, если к событиям запуска процесса подключен отладчик. Вы также можете искать ошибки, сообщаемые в потоке событий ETW, если у вас есть прослушиватель etW в источнике событий, где возникает ошибка.

При реализации метода, который идентифицируется как событие трассировки событий Windows в производном EventSourceклассе. Необходимо вызвать метод базового класса WriteEvent , передавая EventId те же аргументы и, что и реализованный метод, как показано в следующем примере.

[Event(2, Level = EventLevel.Informational)]
public void Info1(Int64 arg1, Byte[] arg2)
{
    base.WriteEvent(2, arg1, arg2);
}

Применяется к