IRequestChannel.BeginRequest Method (Message, TimeSpan, AsyncCallback, Object)


Begins an asynchronous operation to transmit a request message to the reply side of a request-reply message exchange within a specified interval of time.

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

IAsyncResult BeginRequest(
	Message message,
	TimeSpan timeout,
	AsyncCallback callback,
	object state


Type: System.ServiceModel.Channels.Message

The request Message to be transmitted.

Type: System.TimeSpan

The TimeSpan that specifies the interval of time within which a response must be received. (For defaults, see the Remarks section.)

Type: System.AsyncCallback

The AsyncCallback delegate that receives the notification of the completion of the asynchronous operation transmitting a request message.

Type: System.Object

An object, specified by the application, that contains state information associated with the asynchronous operation transmitting a request message.

Return Value

Type: System.IAsyncResult

The IAsyncResult that references the asynchronous message transmission.

If the request message is larger that the maximum message size allowed by the binding being used, a QuotaExceededException should be thrown. The maximum message size is set by the MaxReceivedMessageSize property. The default value is 65536 bytes.

If a timeout is passed while calling the function then that value is used. If the SendTimeout is set on the binding, then the value on the binding is used if no timeout is specified while calling the function.

The DefaultSendTimeout is used if no timeout is specified on either the binding or while calling the function. This default value is 1 minute.

Notes to Implementers:

The operation should throw a TimeoutException if the specified timeout is exceeded before the operation is completed.

The following code shows how to implement this method:

public IAsyncResult BeginRequest(Message message,
    TimeSpan timeout, AsyncCallback callback,
    object state)
    return this.InnerChannel.BeginRequest(message,
        timeout, callback, state);

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