IRequestChannel.BeginRequest Metodo

Definizione

Avvia un'operazione asincrona per trasmettere un messaggio di richiesta al lato reply di uno scambio di messaggi request/reply.

Overload

BeginRequest(Message, AsyncCallback, Object)

Avvia un'operazione asincrona per trasmettere un messaggio di richiesta al lato reply di uno scambio di messaggi request/reply.

BeginRequest(Message, TimeSpan, AsyncCallback, Object)

Avvia un'operazione asincrona per trasmettere un messaggio di richiesta al lato reply di uno scambio di messaggi request/reply entro l'intervallo di tempo specificato.

BeginRequest(Message, AsyncCallback, Object)

Avvia un'operazione asincrona per trasmettere un messaggio di richiesta al lato reply di uno scambio di messaggi request/reply.

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

Parametri

message
Message

Richiesta Message da trasmettere.

callback
AsyncCallback

Delegato AsyncCallback che riceve la notifica del completamento dell'operazione asincrona di trasmissione di un messaggio di richiesta.

state
Object

Oggetto, specificato dall'applicazione, che contiene le informazioni sullo stato associate all'operazione asincrona di trasmissione di un messaggio di richiesta.

Restituisce

IAsyncResult

Interfaccia IAsyncResult che fa riferimento alla trasmissione del messaggio asincrono.

Esempio

Nel codice seguente viene illustrato come implementare questo metodo.

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

Commenti

Se le dimensioni del messaggio di richiesta sono superiori a quelle massime consentite dall'associazione in uso, viene generata QuotaExceededException. La dimensione massima del messaggio viene impostata dalla proprietà MaxReceivedMessageSize. Il valore predefinito è 65536 byte.

Si applica a

BeginRequest(Message, TimeSpan, AsyncCallback, Object)

Avvia un'operazione asincrona per trasmettere un messaggio di richiesta al lato reply di uno scambio di messaggi request/reply entro l'intervallo di tempo specificato.

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

Parametri

message
Message

Richiesta Message da trasmettere.

timeout
TimeSpan

TimeSpan specifica l'intervallo di tempo entro il quale deve pervenire una risposta.

callback
AsyncCallback

Delegato AsyncCallback che riceve la notifica del completamento dell'operazione asincrona di trasmissione di un messaggio di richiesta.

state
Object

Oggetto, specificato dall'applicazione, che contiene le informazioni sullo stato associate all'operazione asincrona di trasmissione di un messaggio di richiesta.

Restituisce

IAsyncResult

Interfaccia IAsyncResult che fa riferimento alla trasmissione del messaggio asincrono.

Esempio

Nel codice seguente viene illustrato come implementare questo metodo:

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

Commenti

Se le dimensioni del messaggio di richiesta sono superiori a quelle massime consentite dall'associazione in uso, dovrebbe essere generata QuotaExceededException. La dimensione massima del messaggio viene impostata dalla proprietà MaxReceivedMessageSize. Il valore predefinito è 65536 byte.

Se durante la chiamata della funzione viene passato un timeout, viene utilizzato tale valore. Se nell'associazione è impostato SendTimeout, nel caso in cui durante la chiamata della funzione non sia specificato alcun timeout, viene utilizzato il valore nell'associazione.

Se non viene specificato alcun timeout nell'associazione o durante la chiamata della funzione, viene utilizzato DefaultSendTimeout. Il valore predefinito è 1 minuto.

Note per gli implementatori

L'operazione deve generare un'eccezione TimeoutException se il parametro timeout specificato viene superato prima del completamento dell'operazione.

Si applica a