IRequestChannel.Request Metoda

Definice

Odešle požadavek založený na zprávě a vrátí korelovanou odpověď založenou na zprávách.

Přetížení

Request(Message)

Odešle požadavek založený na zprávě a vrátí korelovanou odpověď založenou na zprávách.

Request(Message, TimeSpan)

Odešle požadavek založený na zprávě a vrátí korelovanou odpověď založenou na zprávě v zadaném časovém intervalu.

Request(Message)

Odešle požadavek založený na zprávě a vrátí korelovanou odpověď založenou na zprávách.

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

Parametry

message
Message

Požadavek Message , který se má přenést.

Návraty

Message

Přijatý Message v odpovědi na žádost.

Příklady

Následující kód ukazuje, jak implementovat tuto metodu:

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

Poznámky

IRequestChannel Implementace zajištění korelace zprávy odpovědi se zprávou požadavku.

Obecně platí, že pokud implementace IRequestChannel obdrží zprávu, která není korelována s nevyrovnaným požadavkem, dojde k jeho vyřazení.

Metodu Request lze volat souběžně napříč více vlákny.

Předání zprávy do kanálu žádosti způsobí přístup ke zprávě. Po volání Requestuž nemůžete zprávu zkontrolovat ani zavolat Close na zprávu.

Pokud je zpráva požadavku větší, než je maximální velikost zprávy povolená použitou vazbou, QuotaExceededException vyvolá se. Vlastnost nastaví MaxReceivedMessageSize maximální velikost zprávy. Výchozí hodnota je 65536 bajtů.

Platí pro

Request(Message, TimeSpan)

Odešle požadavek založený na zprávě a vrátí korelovanou odpověď založenou na zprávě v zadaném časovém intervalu.

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

Parametry

message
Message

Požadavek Message , který se má přenést.

timeout
TimeSpan

Určuje TimeSpan časový interval, ve kterém musí být přijata odpověď.

Návraty

Message

Přijatý Message v odpovědi na žádost.

Příklady

Následující kód ukazuje, jak tuto metodu implementovat.

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

Poznámky

IRequestChannel Implementace zajištění korelace zprávy odpovědi se zprávou požadavku.

Obecně platí, že pokud implementace IRequestChannel obdrží zprávu, která není korelována s nevyrovnaným požadavkem, dojde k jeho vyřazení.

Metodu Request lze volat souběžně napříč více vlákny.

Předání zprávy do kanálu žádosti způsobí přístup ke zprávě. Po volání Requestuž nemůžete zprávu zkontrolovat ani zavolat Close na zprávu.

Pokud je zpráva požadavku větší, než je maximální velikost zprávy povolená použitou vazbou, QuotaExceededException vyvolá se. Vlastnost nastaví MaxReceivedMessageSize maximální velikost zprávy. Výchozí hodnota je 65536 bajtů.

timeout Pokud se funkce předá při volání funkce, použije se tato hodnota. Pokud je nastavena SendTimeout na vazbu, použije se hodnota vazby, pokud není zadána při timeout volání funkce.

Použije DefaultSendTimeout se, pokud není pro vazbu nebo při volání funkce zadán žádný časový limit. Tato výchozí hodnota je 1 minuta.

Poznámky pro implementátory

Operace by měla vyvolat TimeoutException výjimku, pokud je zadaná timeout hodnota překročena před dokončením operace.

Platí pro