IOutputChannel.BeginSend Method (Message, AsyncCallback, Object)


Begins an asynchronous operation to transmit a message to the destination of the output channel.

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

IAsyncResult BeginSend(
	Message message,
	AsyncCallback callback,
	object state


Type: System.ServiceModel.Channels.Message

The Message being sent on the output channel.

Type: System.AsyncCallback

The AsyncCallback delegate.

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 message transmission.

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

The following code illustrates how to implement this method:

public IAsyncResult BeginReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
    ReceiveRequestAsyncResult result = new ReceiveRequestAsyncResult(this, timeout, callback, state);
    return result;

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