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[]
Массив объектов .
Комментарии
По умолчанию компилятор вызывает эту перегрузку, если параметры для вызова не соответствуют одной из перегрузок других методов. Эта перегрузка выполняется гораздо медленнее, чем другие перегрузки, так как она выполняет следующие действия:
Он выделяет массив для хранения аргумента переменной.
Он приводит каждый параметр к объекту (что приводит к выделению для примитивных типов).
Эти объекты назначаются массиву.
Он вызывает функцию , которая затем определяет тип каждого аргумента, чтобы его можно было сериализовать для трассировки событий 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.
Примитивы источника событий.
Комментарии
Это вспомогательное средство 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);
}