Condividi tramite


IRequestChannel.Request Metodo

Definizione

Invia una richiesta basata sul messaggio e restituisce la risposta basata sul messaggio correlata.

Overload

Request(Message)

Invia una richiesta basata sul messaggio e restituisce la risposta basata sul messaggio correlata.

Request(Message, TimeSpan)

Invia una richiesta basata sul messaggio e restituisce la risposta basata sul messaggio correlata, entro l'intervallo di tempo specificato.

Request(Message)

Origine:
IRequestChannel.cs
Origine:
IRequestChannel.cs
Origine:
IRequestChannel.cs

Invia una richiesta basata sul messaggio e restituisce la risposta basata sul messaggio correlata.

public:
 System::ServiceModel::Channels::Message ^ Request(System::ServiceModel::Channels::Message ^ message);
public System.ServiceModel.Channels.Message Request (System.ServiceModel.Channels.Message message);
abstract member Request : System.ServiceModel.Channels.Message -> System.ServiceModel.Channels.Message
Public Function Request (message As Message) As Message

Parametri

message
Message

Richiesta Message da trasmettere.

Restituisce

Oggetto della classe Message ricevuto in risposta alla richiesta.

Esempio

Nel codice seguente viene illustrato come implementare questo metodo:

public Message Request(Message message)
{
    return this.InnerChannel.Request(message);
}

Commenti

Le implementazioni di IRequestChannel assicurano che il messaggio di risposta sia correlato con il messaggio di richiesta.

In genere, se un'implementazione di IRequestChannel riceve un messaggio non correlato a una richiesta in attesa, viene rilasciato.

Il metodo Request può essere chiamato contemporaneamente attraverso più thread.

Il passaggio del messaggio nel canale di richiesta determina l'accesso al messaggio. Dopo aver effettuato la chiamata a Request, non è più possibile controllare il messaggio o chiamare Close sul messaggio.

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

Request(Message, TimeSpan)

Origine:
IRequestChannel.cs
Origine:
IRequestChannel.cs
Origine:
IRequestChannel.cs

Invia una richiesta basata sul messaggio e restituisce la risposta basata sul messaggio correlata, entro l'intervallo di tempo specificato.

public:
 System::ServiceModel::Channels::Message ^ Request(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout);
public System.ServiceModel.Channels.Message Request (System.ServiceModel.Channels.Message message, TimeSpan timeout);
abstract member Request : System.ServiceModel.Channels.Message * TimeSpan -> System.ServiceModel.Channels.Message
Public Function Request (message As Message, timeout As TimeSpan) As Message

Parametri

message
Message

Richiesta Message da trasmettere.

timeout
TimeSpan

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

Restituisce

Oggetto della classe Message ricevuto in risposta alla richiesta.

Esempio

Nel codice seguente viene illustrato come implementare questo metodo.

public Message Request(Message message, TimeSpan timeout)
{
    return this.InnerChannel.Request(message, timeout);
}

Commenti

Le implementazioni di IRequestChannel assicurano che il messaggio di risposta sia correlato con il messaggio di richiesta.

In genere, se un'implementazione di IRequestChannel riceve un messaggio non correlato a una richiesta in attesa, viene rilasciato.

Il metodo Request può essere chiamato contemporaneamente attraverso più thread.

Il passaggio del messaggio nel canale di richiesta determina l'accesso al messaggio. Dopo aver effettuato la chiamata a Request, non è più possibile controllare il messaggio o chiamare Close sul messaggio.

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.

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