ContextExchangeMechanism ContextExchangeMechanism ContextExchangeMechanism ContextExchangeMechanism Enum

Definition

Gibt an, ob als Mechanismus für den Kontextaustausch in einer Unterhaltung zwischen Client und Dienst ein HTTP-Cookie oder ein SOAP-Header verwendet wird.Specifies whether an HTTP cookie or a SOAP header is the mechanism used to exchange context for a conversation between a client and service.

public enum class ContextExchangeMechanism
public enum ContextExchangeMechanism
type ContextExchangeMechanism = 
Public Enum ContextExchangeMechanism
Vererbung
ContextExchangeMechanismContextExchangeMechanismContextExchangeMechanismContextExchangeMechanism

Felder

ContextSoapHeader ContextSoapHeader ContextSoapHeader ContextSoapHeader 0

Ein SOAP-Header wird zum Austauschen von Kontext verwendet.A SOAP header is used to exchange context. Dies ist der Standardaustauschmechanismus.This is the default exchange mechanism.

HttpCookie HttpCookie HttpCookie HttpCookie 1

Ein HTTP-Cookie wird zum Austauschen von Kontext verwendet.An HTTP cookie is used to exchange context.

Hinweise

Verwenden Sie zum Angeben des Werts von ContextExchangeMechanism für die Unterhaltung zwischen Client und Dienst die ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)-Eigenschaft oder den ContextExchangeMechanism-Konstruktor.Use the ContextExchangeMechanism property or the ContextBindingElement(ProtectionLevel, ContextExchangeMechanism) constructor to specify the value of the ContextExchangeMechanism for a conversation between a client and service.

Für Dienstendpunkte, bei denen die Unterstützung des Kontextaustauschprotokolls erforderlich ist, kann diese Anforderung in der veröffentlichten Richtlinie als explizite Anforderung festgelegt werden.Service endpoints that require support for the context exchange protocol can make this requirement explicit in their published policy. Richtlinienassertionen, die die Anforderung des Clients zum Unterstützen des Kontextaustauschprotokolls auf SOAP-Ebene darstellen oder das Aktivieren der Unterstützung von HTTP-Cookies erfordern, können von einem Endpunkt veröffentlicht werden.Policy assertions that represent the requirement for the client to support the context exchange protocol at the SOAP level or that require the enabling of HTTP cookie support can be published by an endpoint. Die Generierung dieser Assertionen in der Richtlinie auf Dienstseite wird vom Wert der ContextExchangeMechanism-Eigenschaft folgendermaßen gesteuert:The generation of these assertions into the policy on the service is controlled by the value of the ContextExchangeMechanism property as follows:

  • Für HttpCookie wird die folgende Assertion generiert:For HttpCookie, the following assertion is generated:

    <HttpUseCookie xmlns="http://schemas.xmlsoap.org/soap/http"/>  
    
  • Für ContextSoapHeader wird die folgende Assertion generiert:For ContextSoapHeader, the following assertion is generated:

    <IncludeContext   
    xmlns="http://schemas.microsoft.com/ws/2006/05/context"  
    protectionLevel="Sign" />  
    

Die HttpCookie-Enumeration wird auf der Transport Ebene implementiert.The HttpCookie enumeration is implemented at the transport layer. Dies kann für die Simplex-Kommunikation verwendet werden, bei der vom Client eine ursprüngliche Anforderung gestellt und der Kontext in der entsprechenden Antwort des Diensts angegeben wird.This can be used in the case of simplex communication, where the client makes an initial request and the context is provided by the service on the corresponding reply. Dieser Kontext ist dann für die Lebensdauer der Unterhaltung in allen nachfolgenden Nachrichten zwischen Dienst und Client enthalten.All subsequent messages between the service and client for the lifetime of that conversation contain the context. Für Dienst Endpunkte, die einen HTTP-Transport und Clients verwenden, die die Verwendung von HTTP-Cookies zulassen, kann die HttpCookie-Enumeration verwendet werden, um den Anwendungskontext auszutauschen.For service endpoints that use an HTTP transport and clients that agree to allow the use of HTTP cookies, the HttpCookie enumeration can be utilized to exchange the application context. Werden zum Weitergeben von Kontext HTTP-Cookies verwendet, sollten diese mithilfe der Transportsicherheit geschützt werden.When HTTP cookies are used to propagate context, they should be protected using transport security. Dieser Mechanismus kann bei Nicht-HTTP-Transporten nicht verwendet werden.This mechanism cannot be used with non-HTTP transports.

Die ContextSoapHeader-Enumeration stellt eine Alternative bereit, die in einem benutzerdefinierten Kontext Kanal implementiert ist und für nicht-HTTP-Transporte und andere Nachrichtenaustausch Muster, wie z. b. Request-Reply, und eine Duplex Sitzung verwendet werden kann.The ContextSoapHeader enumeration provides an alternative that is implemented in a custom context channel and that can be used with non-HTTP transports and other message exchange pattern, such as request-reply, and a duplex session. Dieses Kontextaustauschprotokoll verfügt über eine SOAP-basierte Entsprechung der von HTTP-Cookies auf Transportebene bereitgestellten Funktion.This context exchange protocol provides a SOAP-based equivalent of the feature offered by HTTP cookies at the transport layer. Mit ihm wird ein neuer wsc:Context-SOAP-Header für die Kontextinformationen eingeführt.It introduces a new wsc:Context SOAP header to represent the context information. Das Argument dafür, den wsc:Context-Header während der Übertragung vor Manipulation zu schützen, ist dasselbe wie bei WS-Adressierungsheadern: Diese Header werden beim Empfang verwendet, um die Nachricht an die korrekten Workflowinstanzen zu verteilen.The wsc:Context header must be protected from modification while in transit for the same reason as the WS-Addressing headers must be protected: upon arrival, these headers are used to dispatch the message to the correct workflow instances. Deshalb muss der wsc:Context-Header entweder auf SOAP- oder auf Transportebene digital signiert werden, wenn für die Bindung ein Nachrichtenschutz verfügbar ist.The wsc:Context header is therefore required to be digitally signed at either SOAP or transport level when the binding offers message protection capability.

Der Kontext wird mithilfe von ContextMessageProperty von der Kanalebene an die Anwendungsebene (und umgekehrt) übermittelt.The channel layer communicates the context to and from the application layer using ContextMessageProperty.

Gilt für: