CallbackBehaviorAttribute::UseSynchronizationContext Property

 

Gets or sets a value that specifies whether to use the current synchronization context to choose the thread of execution.

Namespace:   System.ServiceModel
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public:
property bool UseSynchronizationContext {
	bool get();
	void set(bool value);
}

Property Value

Type: System::Boolean

true 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.

No code example is currently available or this language may not be supported.

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Return to top
Show: