IRequestChannel.BeginRequest Method

Definition

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

Overloads

BeginRequest(Message, AsyncCallback, Object)

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

BeginRequest(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.

BeginRequest(Message, AsyncCallback, Object)

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

public:
 IAsyncResult ^ BeginRequest(System::ServiceModel::Channels::Message ^ message, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginRequest (System.ServiceModel.Channels.Message message, AsyncCallback callback, object state);
abstract member BeginRequest : System.ServiceModel.Channels.Message * AsyncCallback * obj -> IAsyncResult
Public Function BeginRequest (message As Message, callback As AsyncCallback, state As Object) As IAsyncResult

Parameters

message
Message

The request Message to be transmitted.

callback
AsyncCallback

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

state
Object

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

Returns

IAsyncResult

The IAsyncResult that references the asynchronous message transmission.

Examples

The following code shows how to implement this method.

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

Remarks

If the request message 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.

Applies to

BeginRequest(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.

public:
 IAsyncResult ^ BeginRequest(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginRequest (System.ServiceModel.Channels.Message message, TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginRequest : System.ServiceModel.Channels.Message * TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginRequest (message As Message, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parameters

message
Message

The request Message to be transmitted.

timeout
TimeSpan

The TimeSpan that specifies the interval of time within which a response must be received.

callback
AsyncCallback

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

state
Object

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

Returns

IAsyncResult

The IAsyncResult that references the asynchronous message transmission.

Examples

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);
}

Remarks

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.

Applies to