Поделиться через


ContextExchangeMechanism Перечисление

Определение

Указывает, является ли http-файл cookie или заголовок SOAP механизмом обмена контекстом для беседы между клиентом и службой.

public enum class ContextExchangeMechanism
public enum ContextExchangeMechanism
type ContextExchangeMechanism = 
Public Enum ContextExchangeMechanism
Наследование
ContextExchangeMechanism

Поля

Имя Значение Описание
ContextSoapHeader 0

Для обмена контекстом используется заголовок SOAP. Это механизм обмена по умолчанию.

HttpCookie 1

Файл cookie HTTP используется для обмена контекстом.

Комментарии

ContextExchangeMechanism Используйте свойство или ContextBindingElement(ProtectionLevel, ContextExchangeMechanism) конструктор, чтобы указать значение беседы ContextExchangeMechanism между клиентом и службой.

Конечные точки службы, требующие поддержки протокола обмена контекстом, могут явным образом сделать это требование явным в опубликованной политике. Утверждения политики, представляющие требование для клиента поддерживать протокол обмена контекстом на уровне SOAP или требующие включения поддержки файлов cookie HTTP, могут быть опубликованы конечной точкой. Создание этих утверждений в политику службы управляется значением ContextExchangeMechanism свойства следующим образом:

  • Для HttpCookie создается следующее утверждение:

    <HttpUseCookie xmlns="http://schemas.xmlsoap.org/soap/http"/>
    
  • Для ContextSoapHeader создается следующее утверждение:

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

Перечисление HttpCookie реализуется на уровне транспорта. Это можно использовать в случае взаимодействия simplex, где клиент выполняет первоначальный запрос и контекст предоставляется службой в соответствующем ответе. Все последующие сообщения между службой и клиентом в течение всего времени существования этой беседы содержат контекст. Для конечных точек службы, использующих транспорт HTTP и клиенты, которые согласны разрешить использование файлов cookie HTTP, перечисление HttpCookie можно использовать для обмена контекстом приложения. Если файлы cookie HTTP используются для распространения контекста, они должны быть защищены с помощью транспортной безопасности. Этот механизм нельзя использовать с транспортами, не относящихся к ПРОТОКОЛУ HTTP.

Перечисление ContextSoapHeader предоставляет альтернативу, реализованную в пользовательском канале контекста, и которая может использоваться с транспортами, отличными от HTTP, и другими шаблонами обмена сообщениями, такими как запрос-ответ, и дуплексный сеанс. Этот протокол обмена контекстом предоставляет эквивалент функции, предоставляемой HTTP-файлами cookie на транспортном уровне. В ней представлен новый wsc:Context заголовок SOAP для представления сведений о контексте. Заголовок wsc:Context должен быть защищен от изменения во время транзита по той же причине, что и заголовки WS-Addressing должны быть защищены: по прибытии эти заголовки используются для отправки сообщения в правильные экземпляры рабочих процессов. Поэтому wsc:Context заголовок должен быть цифровой подписью на уровне SOAP или транспорта, если привязка предлагает возможность защиты сообщений.

Уровень канала взаимодействует с контекстом и с уровня приложения с помощью ContextMessageProperty.

Применяется к