ContextExchangeMechanism ContextExchangeMechanism ContextExchangeMechanism ContextExchangeMechanism Enum

Definición

Especifica si el mecanismo utilizado para intercambiar contexto, en una conversación entre un cliente y servicio, es una cookie HTTP o un encabezado SOAP.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
Herencia
ContextExchangeMechanismContextExchangeMechanismContextExchangeMechanismContextExchangeMechanism

Campos

ContextSoapHeader ContextSoapHeader ContextSoapHeader ContextSoapHeader 0

Se utiliza un encabezado SOAP para el intercambio de contexto.A SOAP header is used to exchange context. Éste es el mecanismo de intercambio predeterminado.This is the default exchange mechanism.

HttpCookie HttpCookie HttpCookie HttpCookie 1

Se utiliza una cookie HTTP para el intercambio de contexto.An HTTP cookie is used to exchange context.

Comentarios

Utilice la propiedad ContextExchangeMechanism, o el constructor ContextBindingElement(ProtectionLevel, ContextExchangeMechanism), para especificar el valor de ContextExchangeMechanism para una conversación entre un cliente y servicio.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.

Los puntos de conexión del servicio que requieren compatibilidad con el protocolo de intercambio de contexto pueden explicitar este requisito en su directiva publicada.Service endpoints that require support for the context exchange protocol can make this requirement explicit in their published policy. Un extremo puede publicar las aserciones de directiva, que representan el requisito para que el cliente admita el protocolo de intercambio de contexto, en el nivel de SOAP, o que requieran la compatibilidad con la cookie HTTP.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. La generación de estas aserciones dentro de la directiva en el servicio está controlada por el valor de la propiedad ContextExchangeMechanism, como se muestra a continuación:The generation of these assertions into the policy on the service is controlled by the value of the ContextExchangeMechanism property as follows:

  • Para HttpCookie, se genera la siguiente aserción:For HttpCookie, the following assertion is generated:

    <HttpUseCookie xmlns="http://schemas.xmlsoap.org/soap/http"/>  
    
  • Para ContextSoapHeader, se genera la siguiente aserción:For ContextSoapHeader, the following assertion is generated:

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

La enumeración HttpCookie se implementa en el nivel de transporte.The HttpCookie enumeration is implemented at the transport layer. Esto puede utilizarse en caso de comunicación símplex, en la que el cliente realiza una solicitud inicial y el servicio proporciona el contexto en la respuesta correspondiente.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. Todos los mensajes posteriores entre el servicio y el cliente en la duración de esa conversación contienen el contexto.All subsequent messages between the service and client for the lifetime of that conversation contain the context. Para los extremos de servicio que utilizan un transporte HTTP y los clientes que aceptan el uso de cookies HTTP, se puede usar la enumeración HttpCookie para intercambiar el contexto de la aplicación.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. Cuando se utilizan cookies HTTP para propagar contexto, deben protegerse utilizando la seguridad de transporte.When HTTP cookies are used to propagate context, they should be protected using transport security. Este mecanismo no puede utilizarse con transportes que no sean HTTP.This mechanism cannot be used with non-HTTP transports.

La enumeración ContextSoapHeader proporciona una alternativa que se implementa en un canal de contexto personalizado y que puede utilizarse con transportes no HTTP y otro patrón de intercambio de mensajes, como solicitud-respuesta y una sesión dúplex.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. Este protocolo de intercambio de contexto proporciona un equivalente basado en SOAP de la característica proporcionada por las cookies HTTP en el nivel de transporte.This context exchange protocol provides a SOAP-based equivalent of the feature offered by HTTP cookies at the transport layer. Introduce un nuevo encabezado SOAP wsc:Context para representar la información de contexto.It introduces a new wsc:Context SOAP header to represent the context information. Mientras se encuentre en tránsito, el encabezado wsc:Context debe protegerse de la modificación por la misma razón por la que deben protegerse los encabezados de WS-Addressing: cuando llegan, estos encabezados se utilizan para enviar el mensaje a las instancias de flujo de trabajo correctas.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. Por lo tanto, se exige la firma digital del encabezado wsc:Context en el nivel SOAP o de transporte, cuando el enlace ofrece la función de protección del mensaje.The wsc:Context header is therefore required to be digitally signed at either SOAP or transport level when the binding offers message protection capability.

La capa del canal comunica el contexto a y desde el nivel de aplicación mediante ContextMessageProperty.The channel layer communicates the context to and from the application layer using ContextMessageProperty.

Se aplica a