IRequestChannel.Request Metoda

Definicja

Wysyła żądanie oparte na komunikatach i zwraca skorelowane odpowiedzi oparte na komunikatach.

Przeciążenia

Request(Message)

Wysyła żądanie oparte na komunikatach i zwraca skorelowane odpowiedzi oparte na komunikatach.

Request(Message, TimeSpan)

Wysyła żądanie oparte na komunikatach i zwraca skorelowane odpowiedzi oparte na komunikatach w określonym przedziale czasu.

Request(Message)

Wysyła żądanie oparte na komunikatach i zwraca skorelowane odpowiedzi oparte na komunikatach.

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

Żądanie Message do przesłania.

Zwraca

Message

Odebrane Message w odpowiedzi na żądanie.

Przykłady

Poniższy kod pokazuje, jak zaimplementować tę metodę:

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

Uwagi

Implementacje IRequestChannel zapewnienia, że komunikat odpowiedzi jest skorelowany z komunikatem żądania.

Ogólnie rzecz biorąc, jeśli implementacja komunikatu IRequestChannel nie jest skorelowana z zaległym żądaniem, zostaje porzucona.

Metodę Request można wywołać jednocześnie w wielu wątkach.

Przekazanie komunikatu do kanału żądania powoduje uzyskanie dostępu do komunikatu. Po wywołaniu Requestmetody nie można już sprawdzić wiadomości ani wywołać Close tej wiadomości.

Jeśli komunikat żądania jest większy niż maksymalny rozmiar komunikatu dozwolony przez używane powiązanie, QuotaExceededException jest zgłaszany. Maksymalny rozmiar komunikatu MaxReceivedMessageSize jest ustawiany przez właściwość . Wartość domyślna to 65536 bajtów.

Dotyczy

Request(Message, TimeSpan)

Wysyła żądanie oparte na komunikatach i zwraca skorelowane odpowiedzi oparte na komunikatach w określonym przedziale czasu.

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

Żądanie Message do przesłania.

timeout
TimeSpan

Określa TimeSpan interwał czasu, w którym musi zostać odebrana odpowiedź.

Zwraca

Message

Odebrane Message w odpowiedzi na żądanie.

Przykłady

Poniższy kod pokazuje, jak zaimplementować tę metodę.

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

Uwagi

Implementacje IRequestChannel zapewnienia, że komunikat odpowiedzi jest skorelowany z komunikatem żądania.

Ogólnie rzecz biorąc, jeśli implementacja komunikatu IRequestChannel nie jest skorelowana z zaległym żądaniem, zostaje porzucona.

Metodę Request można wywołać jednocześnie w wielu wątkach.

Przekazanie komunikatu do kanału żądania powoduje uzyskanie dostępu do komunikatu. Po wywołaniu Requestmetody nie można już sprawdzić wiadomości ani wywołać Close tej wiadomości.

Jeśli komunikat żądania jest większy niż maksymalny rozmiar komunikatu dozwolony przez używane powiązanie, QuotaExceededException jest zgłaszany. Maksymalny rozmiar komunikatu MaxReceivedMessageSize jest ustawiany przez właściwość . Wartość domyślna to 65536 bajtów.

timeout Jeśli element jest przekazywany podczas wywoływania funkcji, zostanie użyta ta wartość. SendTimeout Jeśli właściwość jest ustawiona na powiązaniu, zostanie użyta wartość powiązania, jeśli nie timeout zostanie określona podczas wywoływania funkcji.

Parametr DefaultSendTimeout jest używany, jeśli nie określono limitu czasu dla powiązania lub podczas wywoływania funkcji. Ta wartość domyślna to 1 minuta.

Uwagi dotyczące implementowania

Operacja powinna zgłosić TimeoutException wartość , jeśli określona timeout wartość zostanie przekroczona przed ukończeniem operacji.

Dotyczy