Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

RequestContext-Klasse

Aktualisiert: November 2007

Stellt eine Antwort bereit, die mit einer eingehenden Anforderung korreliert.

Namespace:  System.ServiceModel.Channels
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public abstract class RequestContext : IDisposable
public abstract class RequestContext implements IDisposable
public abstract class RequestContext implements IDisposable

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.

In Anforderungs-/Antwortmodell ist das RequestContext-Objekt die Verknüpfung zwischen der eingehenden Anforderung und der ausgehenden Antwort. Wenn der Server eine Anforderung erhält, stellt er eine RequestContext-Instanz 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 MC++, 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.

System.Object
  System.ServiceModel.Channels.RequestContext

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0
Anzeigen: