IRequestChannel.Request Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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
- 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.