IRequestChannel.Request 方法

定義

傳送訊息型要求,並傳回相互關聯的訊息型回應。

多載

Request(Message)

傳送訊息型要求,並傳回相互關聯的訊息型回應。

Request(Message, TimeSpan)

傳送訊息型要求,並在指定的時間間隔內傳回相互關聯的訊息型回應。

Request(Message)

傳送訊息型要求,並傳回相互關聯的訊息型回應。

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

參數

message
Message

要傳輸的要求 Message

傳回

Message

回應要求時所收到的 Message

範例

下列程式碼會示範如何實作這個方法:

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

備註

IRequestChannel 的實作可確保回應訊息與要求訊息之間有相互關聯性。

一般來說,當 IRequestChannel 的實作收到與未處理的要求不相關的訊息時,會將它捨棄。

Request 方法可以在多個執行緒上同時呼叫。

將訊息傳遞給要求通道會造成該訊息遭到存取。 當您呼叫 Request 之後,便無法再檢查此訊息,或針對此訊息呼叫 Close

如果要求訊息大於要使用之繫結所允許的訊息大小上限,則會擲回 QuotaExceededException。 訊息大小上限是由 MaxReceivedMessageSize 屬性所設定。 預設值為 65536 個位元組。

適用於

Request(Message, TimeSpan)

傳送訊息型要求,並在指定的時間間隔內傳回相互關聯的訊息型回應。

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

參數

message
Message

要傳輸的要求 Message

timeout
TimeSpan

指定必須收到回應之時間間隔的 TimeSpan

傳回

Message

回應要求時所收到的 Message

範例

下列程式碼會示範如何實作這個方法。

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

備註

IRequestChannel 的實作可確保回應訊息與要求訊息之間有相互關聯性。

一般來說,當 IRequestChannel 的實作收到與未處理的要求不相關的訊息時,會將它捨棄。

Request 方法可以在多個執行緒上同時呼叫。

將訊息傳遞給要求通道會造成該訊息遭到存取。 當您呼叫 Request 之後,便無法再檢查此訊息,或針對此訊息呼叫 Close

如果要求訊息大於要使用之繫結所允許的訊息大小上限,則會擲回 QuotaExceededException。 訊息大小上限是由 MaxReceivedMessageSize 屬性所設定。 預設值為 65536 個位元組。

如果在呼叫此函式時傳遞 timeout,則會使用該值。 如果在繫結上設定 SendTimeout,則如果在呼叫此函式時未指定任何 timeout,便會使用繫結上的值。

如果在繫結上或是呼叫此函式時,未指定任何逾時值,則會使用 DefaultSendTimeout。 這個預設值為 1 分鐘。

給實施者的注意事項

如果在作業完成之前超出了指定的 TimeoutException,此作業應該擲回 timeout

適用於