ContextExchangeMechanism Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica se um cookie HTTP ou um cabeçalho SOAP é o mecanismo usado para a troca de contexto de uma conversa entre um cliente e serviço.
public enum class ContextExchangeMechanism
public enum ContextExchangeMechanism
type ContextExchangeMechanism =
Public Enum ContextExchangeMechanism
- Herança
Campos
ContextSoapHeader | 0 | Um cabeçalho SOAP é usado para a troca de contexto. Esse é o mecanismo de troca padrão. |
HttpCookie | 1 | Um cookie HTTP é usado para a troca de contexto. |
Comentários
Use a ContextExchangeMechanism propriedade ou o ContextBindingElement(ProtectionLevel, ContextExchangeMechanism) construtor para especificar o valor do ContextExchangeMechanism para uma conversa entre um cliente e um serviço.
Os pontos de extremidade de serviço que exigem suporte para o protocolo de troca de contexto podem tornar esse requisito explícito em sua política publicada. As declarações de política que representam o requisito para o cliente dar suporte ao protocolo de troca de contexto no nível SOAP ou que exigem a habilitação do suporte a cookie HTTP podem ser publicadas por um ponto de extremidade. A geração dessas declarações na política no serviço é controlada pelo valor da propriedade da ContextExchangeMechanism seguinte maneira:
Para HttpCookie, a seguinte asserção é gerada:
<HttpUseCookie xmlns="http://schemas.xmlsoap.org/soap/http"/>
Para ContextSoapHeader, a seguinte asserção é gerada:
<IncludeContext xmlns="http://schemas.microsoft.com/ws/2006/05/context" protectionLevel="Sign" />
A enumeração HttpCookie é implementada na camada de transporte. Isso pode ser usado no caso da comunicação simplex, em que o cliente faz uma solicitação inicial e o contexto é fornecido pelo serviço na resposta correspondente. Todas as mensagens subsequentes entre o serviço e o cliente durante o tempo de vida dessa conversa contêm o contexto. Para pontos de extremidade de serviço que usam um transporte HTTP e clientes que concordam em permitir o uso de cookies HTTP, a enumeração HttpCookie pode ser utilizada para trocar o contexto do aplicativo. Quando cookies HTTP são usados para propagar contexto, eles devem ser protegidos usando a segurança do transporte. Esse mecanismo não pode ser usado com transportes não HTTP.
A enumeração ContextSoapHeader fornece uma alternativa implementada em um canal de contexto personalizado e que pode ser usada com transportes não HTTP e outros padrões de troca de mensagens, como solicitação-resposta e uma sessão duplex. Esse protocolo de troca de contexto fornece um equivalente baseado em SOAP do recurso oferecido por cookies HTTP na camada de transporte. Ele apresenta um novo wsc:Context
cabeçalho SOAP para representar as informações de contexto. O wsc:Context
cabeçalho deve ser protegido contra modificação enquanto estiver em trânsito pelo mesmo motivo que os cabeçalhos WS-Addressing devem ser protegidos: na chegada, esses cabeçalhos são usados para expedir a mensagem para as instâncias de fluxo de trabalho corretas. Portanto wsc:Context
, o cabeçalho é necessário para ser assinado digitalmente no nível soap ou de transporte quando a associação oferece capacidade de proteção de mensagem.
A camada de canal comunica o contexto de e para a camada de aplicativo usando ContextMessageProperty.