IRequestChannel.Request Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Sendet eine nachrichtenbasierte Anforderung und gibt die korrelierte nachrichtenbasierte Antwort zurück.
Überlädt
Request(Message) |
Sendet eine nachrichtenbasierte Anforderung und gibt die korrelierte nachrichtenbasierte Antwort zurück. |
Request(Message, TimeSpan) |
Sendet eine nachrichtenbasierte Anforderung und gibt die korrelierte nachrichtenbasierte Antwort innerhalb eines festgelegten Zeitintervalls zurück. |
Request(Message)
- Quelle:
- IRequestChannel.cs
- Quelle:
- IRequestChannel.cs
- Quelle:
- IRequestChannel.cs
Sendet eine nachrichtenbasierte Anforderung und gibt die korrelierte nachrichtenbasierte Antwort zurück.
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
Parameter
Gibt zurück
Die als Antwort auf die Anforderung empfangene Message.
Beispiele
Im folgenden Codebeispiel wird die Implementierung dieser Methode veranschaulicht:
public Message Request(Message message)
{
return this.InnerChannel.Request(message);
}
Hinweise
Implementierungen von IRequestChannel stellen sicher, dass die Antwortnachricht mit der Anforderungsnachricht korreliert.
Wenn eine Implementierung von IRequestChannel eine Nachricht empfängt, die nicht mit einer ausstehenden Anforderung korreliert, wird diese üblicherweise gelöscht.
Die Request-Methode kann über mehrere Threads gleichzeitig aufgerufen werden.
Die Weitergabe der Nachricht an den Anforderungskanal führt dazu, dass auf die Nachricht zugegriffen wird. Nachdem Sie Request aufgerufen haben, können Sie die Nachricht nicht mehr überprüfen oder für die Nachricht Close aufrufen.
Wenn die Anforderungsnachricht größer ist als die von der verwendeten Bindung maximal zulässige Größe für Nachrichten, wird eine QuotaExceededException ausgelöst. Die maximale Nachrichtengröße wird von der MaxReceivedMessageSize-Eigenschaft festgelegt. Der Standardwert ist 65536 Byte.
Gilt für:
Request(Message, TimeSpan)
- Quelle:
- IRequestChannel.cs
- Quelle:
- IRequestChannel.cs
- Quelle:
- IRequestChannel.cs
Sendet eine nachrichtenbasierte Anforderung und gibt die korrelierte nachrichtenbasierte Antwort innerhalb eines festgelegten Zeitintervalls zurück.
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
Parameter
- timeout
- TimeSpan
Die TimeSpan, die das Zeitintervall angibt, innerhalb dessen eine Antwort empfangen werden muss.
Gibt zurück
Die als Antwort auf die Anforderung empfangene Message.
Beispiele
Im folgenden Codebeispiel wird die Implementierung dieser Methode veranschaulicht.
public Message Request(Message message, TimeSpan timeout)
{
return this.InnerChannel.Request(message, timeout);
}
Hinweise
Implementierungen von IRequestChannel stellen sicher, dass die Antwortnachricht mit der Anforderungsnachricht korreliert.
Wenn eine Implementierung von IRequestChannel eine Nachricht empfängt, die nicht mit einer ausstehenden Anforderung korreliert, wird diese üblicherweise gelöscht.
Die Request-Methode kann über mehrere Threads gleichzeitig aufgerufen werden.
Die Weitergabe der Nachricht an den Anforderungskanal führt dazu, dass auf die Nachricht zugegriffen wird. Nachdem Sie Request aufgerufen haben, können Sie die Nachricht nicht mehr überprüfen oder für die Nachricht Close aufrufen.
Wenn die Anforderungsnachricht größer ist als die von der verwendeten Bindung maximal zulässige Größe für Nachrichten, wird eine QuotaExceededException ausgelöst. Die maximale Nachrichtengröße wird von der MaxReceivedMessageSize-Eigenschaft festgelegt. Der Standardwert ist 65536 Byte.
Wenn bei Aufruf der Funktion ein timeout
überschritten wird, wird dieser Wert verwendet. Wenn SendTimeout für die Bindung gesetzt ist, wird der für die Bindung gesetzte Wert verwendet, wenn kein timeout
während des Aufrufs der Funktion festgelegt wird.
Der DefaultSendTimeout wird verwendet, wenn weder für die Bindung noch während des Aufrufs der Funktion ein Timeout gesetzt wird. Der Standardwert ist 1 Minute.
Hinweise für Ausführende
Der Vorgang sollte einen TimeoutException auslösen, wenn der angegebene timeout
überschritten wird, bevor der Vorgang abgeschlossen ist.