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 ist.
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 aus einem IReplyChannel. Jede RequestContext Kapselt die informationen, die zum Beantworten der Anforderung erforderlich sind, damit Sie den Kanal nicht blockieren müssen, wenn Sie auf jede Anforderungsnachricht warten, um eine Antwort zu erhalten.
Im Anforderungs-/Antwortmodell ist das RequestContext Objekt der Link zwischen der anforderung, die eingeht, und der Antwort, die ausgeht. Wenn der Server eine Anforderung empfängt, stellt er eine RequestContext Instanz bereit, die die Anforderung an den Kanal darstellt. Der Anforderungskontext enthält die ursprüngliche Anforderungsnachricht unter anderen nützlichen Eigenschaften. Dieser Anforderungskontext wird dann innerhalb des OperationContext Abrufs durch Ihren Dienst gestaffelt. In der Regel verwenden Sie die Current Eigenschaft, um auf die Anforderung des aktuellen Vorgangs zuzugreifen.
Der Wert des Werts RequestContext kann sein null. Da die Rolle des Anforderungskontexts darin besteht, Anforderungen mit Antworten zu verknüpfen, ist es nicht sinnvoll, einen Anforderungskontext zu haben, wenn Sie keine Antwort haben, und in diesem Fall ist der Kontext auf " null. Bei einem unidirektionalen Vorgang über dem Anforderungs-/Antwortmodell empfängt der Server Anforderungen, sendet aber keine Antwort an den Client. Wenn dies RequestContext unerwartet ist null , überprüfen Sie zunächst, ob der Vorgangsvertrag IsOneWay ist.
Besondere Notiz für verwaltete C++-Benutzer, die von dieser Klasse abgeleitet werden:
- Setzen Sie den Bereinigungscode in (On)(Begin)Close (und/oder OnAbort) und nicht in einen Destruktor.
- Vermeiden Sie Destruktoren: Sie verursachen, dass der Compiler automatisch generiert IDisposable.
- Vermeiden Sie Nichtverweismitglieder: Sie können dazu führen, dass der Compiler automatisch generiert IDisposablewird.
- Vermeiden Sie Finalisierer; Wenn Sie jedoch eine einschließen, sollten Sie die Buildwarnung und den Aufruf und SuppressFinalize(Object) den Finalizer selbst von (On)(Begin)Close (und/oder OnAbort) unterdrücken, um zu emulieren, was das automatisch generierte IDisposable Verhalten wäre.
Konstruktoren
| Name | Beschreibung |
|---|---|
| RequestContext() |
Initialisiert eine neue Instanz der RequestContext-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| RequestMessage |
Beim Überschreiben in einer abgeleiteten Klasse ruft die Nachricht ab, die die Anforderung enthält. |
Methoden
| Name | Beschreibung |
|---|---|
| Abort() |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird die Verarbeitung der dem Kontext zugeordneten Anforderung abgebrochen. |
| BeginReply(Message, AsyncCallback, Object) |
Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, beginnt ein asynchroner Vorgang, um auf die anforderung zu antworten, die dem aktuellen Kontext zugeordnet ist. |
| BeginReply(Message, TimeSpan, AsyncCallback, Object) |
Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, beginnt ein asynchroner Vorgang, um auf die anforderung zu antworten, die dem aktuellen Kontext innerhalb eines bestimmten Zeitintervalls zugeordnet ist. |
| Close() |
Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, wird der Vorgang geschlossen, der auf den Anforderungskontext antwortet, der dem aktuellen Kontext zugeordnet ist. |
| Close(TimeSpan) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird der Vorgang geschlossen, der auf den Anforderungskontext antwortet, der dem aktuellen Kontext innerhalb eines bestimmten Zeitintervalls zugeordnet ist. |
| Dispose(Boolean) |
Veröffentlicht Ressourcen, die dem Kontext zugeordnet sind. |
| EndReply(IAsyncResult) |
Wenn eine abgeleitete Klasse überschrieben wird, wird ein asynchroner Vorgang zum Beantworten einer Anforderungsnachricht abgeschlossen. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| Reply(Message, TimeSpan) |
Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, antworten Sie innerhalb eines bestimmten Zeitintervalls auf eine Anforderungsnachricht. |
| Reply(Message) |
Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, antworten Sie auf eine Anforderungsnachricht. |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IDisposable.Dispose() |
Veröffentlicht verwaltete und nicht verwaltete Ressourcen, die dem Kontext zugeordnet sind. |