RequestContext Klasse
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.
Stellt eine Antwort bereit, die mit einer eingehenden Anforderung korreliert.
public ref class RequestContext abstract : IDisposable
public abstract class RequestContext : IDisposable
type RequestContext = class
interface IDisposable
Public MustInherit Class RequestContext
Implements IDisposable
- Vererbung
-
RequestContext
- Implementiert
Hinweise
Sie erhalten einen Anforderungskontext von einem IReplyChannel. Jeder RequestContext kapselt die Informationen, die zum Antworten auf die Anforderung notwendig sind, so dass Sie beim Warten auf den Erhalt einer Antwort für eine Anforderungsnachricht den Kanal nicht blockieren müssen.
Im Anforderungs-/Antwortmodell ist das RequestContext -Objekt die Verknüpfung zwischen der eingehenden Anforderung und der Antwort, die ausgeht. Wenn der Server eine Anforderung empfängt, stellt er eine RequestContext instance bereit, die die Anforderung an den Kanal darstellt. Der Anforderungskontext enthält die ursprüngliche Anforderungsnachricht, neben weiteren nützlichen Eigenschaften. Dieser Anforderungskontext wird dann im OperationContext für den Abruf durch den Dienst bereitgehalten. Sie verwenden die Current-Eigenschaft in der Regel, um auf die Anforderung des aktuellen Vorgangs zuzugreifen.
Der Wert des RequestContext kann null
sein. Da der Anforderungskontext dazu dient, Anforderungen mit Antworten zu verknüpfen, ist es nicht sinnvoll, einen Anforderungskontext zu verwenden, wenn keine Antwort vorliegt; daher wird der Kontext in diesem auf null
festgelegt. Bei einem unidirektionalen Vorgang, der das Anforderungs-/Antwortmodell ergänzt, empfängt der Server eine Anforderung, sendet jedoch keine Antwort zurück an den Client. Wenn der RequestContext daher unerwartet den Wert null
aufweist, überprüfen Sie zunächst, ob der Vorgangsvertrag IsOneWay lautet.
Spezieller Hinweis für Benutzer von Managed C++, die von dieser Klasse ableiten:
Fügen Sie den Bereinigungscode in (On)(Begin)Close (and/or OnAbort) ein, nicht in einen Destruktor.
Vermeiden Sie Destruktoren: Sie bewirken, dass der Compiler IDisposable automatisch generiert.
Vermeiden Sie Member ohne Verweis: Sie können bewirken, dass der Compiler IDisposable automatisch generiert.
Vermeiden Sie Finalizer. Wenn Sie dennoch einen Finalizer verwenden, sollten Sie die Buildwarnung unterdrücken und SuppressFinalize(Object) sowie den Finalizer über (On)(Begin)Close (and/or OnAbort) aufrufen, um das ansonsten automatisch generierte IDisposable-Verhalten zu emulieren.
Konstruktoren
RequestContext() |
Initialisiert eine neue Instanz der RequestContext-Klasse. |
Eigenschaften
RequestMessage |
Ruft beim Überschreiben in einer abgeleiteten Klasse die Nachricht ab, die die Anforderung enthält. |
Methoden
Abort() |
Bricht beim Überschreiben in einer abgeleiteten Klasse die Verarbeitung der Anforderung, die mit einem Kontext verknüpft ist, ab. |
BeginReply(Message, AsyncCallback, Object) |
Startet beim Überschreiben in einer abgeleiteten Klasse einen asynchronen Vorgang, um auf die Anforderung zu antworten, die mit dem aktuellen Kontext verknüpft ist. |
BeginReply(Message, TimeSpan, AsyncCallback, Object) |
Startet beim Überschreiben in einer abgeleiteten Klasse einen asynchronen Vorgang innerhalb eines bestimmten Zeitintervalls, um auf die Anforderung zu antworten, die mit dem aktuellen Kontext verknüpft ist. |
Close() |
Beendet beim Überschreiben in einer abgeleiteten Klasse den Vorgang, der auf den mit dem aktuellen Kontext verknüpften Anforderungskontext antwortet. |
Close(TimeSpan) |
Beendet beim Überschreiben in einer abgeleiteten Klasse den Vorgang, der auf den mit dem aktuellen Kontext verknüpften Anforderungskontext antwortet, innerhalb eines bestimmten Zeitintervalls. |
Dispose(Boolean) |
Gibt die dem Kontext zugeordneten Ressourcen frei. |
EndReply(IAsyncResult) |
Schließt bei Überschreibung in einer abgeleiteten Klasse einen asynchronen Vorgang zum Antworten auf eine Anforderungsnachricht ab. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
Reply(Message) |
Antwortet beim Überschreiben in einer abgeleiteten Klasse auf eine Anforderungsnachricht. |
Reply(Message, TimeSpan) |
Antwortet bei Überschreibung in einer abgeleiteten Klasse innerhalb eines bestimmten Zeitintervalls auf eine Antwortnachricht. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IDisposable.Dispose() |
Gibt sowohl verwaltete als auch nicht verwaltete Ressourcen, die mit dem Kontext verknüpft sind, frei. |