This documentation is archived and is not being maintained.

EventLog.SynchronizingObject Property

Gets or sets the object used to marshal the event handler calls issued as a result of an EventLog entry written event.

[Visual Basic]
Public Property SynchronizingObject As ISynchronizeInvoke
public ISynchronizeInvoke SynchronizingObject {get; set;}
public: __property ISynchronizeInvoke* get_SynchronizingObject();
public: __property void set_SynchronizingObject(ISynchronizeInvoke*);
public function get SynchronizingObject() : ISynchronizeInvoke;
public function set SynchronizingObject(ISynchronizeInvoke);

Property Value

The ISynchronizeInvoke used to marshal event-handler calls issued as a result of an EntryWritten event on the event log.


When SynchronizingObject is a null reference (Nothing in Visual Basic), methods handling the EntryWritten event are called on a thread from the system thread pool. For more information on system thread pools, see ThreadPool.

When the EntryWritten event is handled by a visual Windows Forms component, such as a button, accessing the component through the system thread pool might not work, or might result in an exception. Avoid this by setting SynchronizingObject to a Windows Forms component, which causes the methods handling the EntryWritten event to be called on the same thread on which the component was created.

If the EventLog is used inside Visual Studio .NET in a Windows Forms designer, SynchronizingObject is automatically set to the control containing the EventLog. For example, if you place an EventLog on a designer for Form1 (which inherits from Form) the SynchronizingObject property of EventLog is set to the instance of Form1.


Platforms: Windows NT Server 4.0, Windows NT Workstation 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

.NET Framework Security: 

See Also

EventLog Class | EventLog Members | System.Diagnostics Namespace | EntryWritten | ThreadPool