ContextExchangeMechanism Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, является ли http-файл cookie или заголовок SOAP механизмом обмена контекстом для беседы между клиентом и службой.
public enum class ContextExchangeMechanism
public enum ContextExchangeMechanism
type ContextExchangeMechanism =
Public Enum 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.