CommunicationObject::BeginClose Method (TimeSpan, AsyncCallback^, Object^)
Begins an asynchronous operation to close a communication object with a specified timeout.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
public: virtual IAsyncResult^ BeginClose( TimeSpan timeout, AsyncCallback^ callback, Object^ state ) sealed
Parameters
- timeout
-
Type:
System::TimeSpan
The TimeSpan that specifies how long the close operation has to complete before timing out.
- callback
-
Type:
System::AsyncCallback^
The AsyncCallback delegate that receives notification of the completion of the asynchronous close operation.
- state
-
Type:
System::Object^
An object, specified by the application, that contains state information associated with the asynchronous close operation.
Return Value
Type: System::IAsyncResult^The IAsyncResult that references the asynchronous close operation.
| Exception | Condition |
|---|---|
| InvalidOperationException | |
| ObjectDisposedException | |
| CommunicationObjectFaultedException | The communication object is in a Faulted state and cannot be modified. |
| TimeoutException | The default interval of time that was allotted for the operation was exceeded before the operation was completed. |
This method causes the CommunicationObject to gracefully transition from any state, other than the Closed state, into the Closed state with in a specified interval of time. The BeginClose method allows any unfinished work to be completed before returning. For example, finish sending any buffered messages). This method calls OnBeginClose(TimeSpan, AsyncCallback^, Object^) if the communication object was initially in the Opened state.
Available since 8
.NET Framework
Available since 3.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0