CallbackBehaviorAttribute::UseSynchronizationContext Property
Gets or sets a value that specifies whether to use the current synchronization context to choose the thread of execution.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
Property Value
Type: System::Booleantrue if all calls to the service must run on the thread specified by the SynchronizationContext; otherwise, false. The default value is true.
Use this property to provide the user interface thread affinity that some applications require. For example, a Windows Forms application may be registered as a singleton service object. In this case, all calls into the service must run on the Windows Forms thread. The default case, in which UseSynchronizationContext is set to true, synchronizes all calls to the service to run on the user interface thread.
Note that the thread used is the current synchronization thread when DuplexChannelFactory<TChannel>::CreateChannel or DuplexClientBase<TChannel>::CreateChannel is called. In the case of an Windows Forms application, this means that these calls should occur after a call to the Application::Run method.
The following code example shows a CallbackBehaviorAttribute on a callback object that uses the SynchronizationContext object to determine which thread to marshal to, the ValidateMustUnderstand property to enforce message validation, and the IncludeExceptionDetailInFaults property to return exceptions as FaultException objects to the service for debugging purposes.
Available since 8
.NET Framework
Available since 3.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0