IOutputChannel::BeginSend Method (Message^, TimeSpan, AsyncCallback^, Object^)
Begins an asynchronous operation to transmit a message to the destination of the output channel within a specified interval of time.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
IAsyncResult^ BeginSend( Message^ message, TimeSpan timeout, AsyncCallback^ callback, Object^ state )
Parameters
- message
-
Type:
System.ServiceModel.Channels::Message^
The Message being sent on the output channel.
- timeout
-
Type:
System::TimeSpan
The TimeSpan that specifies how long the send operation has to complete before timing out.
- callback
-
Type:
System::AsyncCallback^
The AsyncCallback delegate that receives the notification of the asynchronous operation send completion.
- state
-
Type:
System::Object^
An object, specified by the application, that contains state information associated with the asynchronous send operation.
Return Value
Type: System::IAsyncResult^The IAsyncResult that references the asynchronous send operation.
The destination for messages sent out on an output channel is specified at channel creation time.
The BeginSend method does not guarantee the delivery of message to the remote endpoint. If delivery guarantees are required, use IOutputSessionChannel.
If the message sent is larger that the maximum message size allowed by the binding being used, a QuotaExceededException is thrown. The maximum message size is set by the MaxReceivedMessageSize property. The default value is 65536 bytes.
Notes to Implementers:
The operation should throw a TimeoutException if the specified timeout is exceeded.
The following code illustrates how to implement this method:
public RequestContext EndReceiveRequest(IAsyncResult result) { return ReceiveRequestAsyncResult.End(result); }
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