This documentation is archived and is not being maintained.

EventProvider Class

Use this class to write events.

Namespace:  System.Diagnostics.Eventing
Assembly:  System.Core (in System.Core.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
public class EventProvider : IDisposable


The HostProtectionAttribute attribute applied to this type or member has the following Resources property value: MayLeakOnAbort. The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes.

To consume events written using the WriteEvent and WriteTransferEvent methods, the events must be defined in a manifest; events written using the WriteMessageEvent method do not require a manifest.

Events can contain the following managed data types:

  • bool

  • Boolean

  • byte

  • char

  • decimal

  • double

  • float

  • Guid

  • int

  • IntPtr

  • long

  • sbyte

  • short

  • string

  • uint

  • UInt64

If an event in your manifest uses the Boolean in-type, you cannot write the data element using a Boolean data type in your managed code. The Boolean in-type in your manifest expects a 4-byte value, and a Boolean data type in managed code is 1-byte. Instead, you must use an int data type to write the value. If you want to log a Boolean value, use the UInt8 in-type in your manifest.


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5