SupportedAddressingMode Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, поддерживает ли служба отправку ответов только на анонимные адреса, только на неанонимные адреса, или на оба типа адресов.
public enum class SupportedAddressingMode
public enum SupportedAddressingMode
type SupportedAddressingMode =
Public Enum SupportedAddressingMode
- Наследование
Поля
Anonymous | 0 | Сервер поддерживает только анонимные адреса и клиенты должны предоставлять анонимный обратный адрес. |
Mixed | 2 | Сервер поддерживает анонимные и неанонимные адреса и клиенты могут выбрать использовать один из них или оба. |
NonAnonymous | 1 | Сервер поддерживает только неанонимные адреса и клиенты должны предоставлять неанонимный обратный адрес. |
Комментарии
Это перечисление используется для задания возможностей сервера, который, в свою очередь, устанавливает требования для клиентов.
Windows Communication Foundation (WCF) имеет различные элементы управления адресацией для указания места отправки сообщений. Например, есть логический адрес To для места назначения сообщения, физический адрес ("Via"), который используется транспортом, прослушиваемым службой, и адрес ReplyTo конечной точки, содержащий адрес конечной точки клиента.
В самом общем случае, когда две стороны обмениваются сообщениями только между собой, нет необходимости отдельно задавать эти адреса. Но так как в обмене сообщениями могут быть задействованы другие пункты назначения, нужно уметь определить, когда требуется задать эти адреса явно. Даже при взаимодействии только двух сторон это иногда может потребоваться, как, например, в случае с двусторонним HTTP-взаимодействием, когда сервер должен создавать собственный HTTP-запрос. Следующие типы отношений определены перечислением SupportedAddressingMode для описания шаблонов обмена сообщениями.
Анонимные адреса — это наиболее простая форма адресации. Анонимная адресация используется, если есть путь ответа по умолчанию. Протокол TCP — это двунаправленный транспорт, ответ на сообщение TCP может быть отправлен обратно на тот же сокет, с которого пришло исходное сообщение. Аналогично, модель запрос-ответ протокола HTTP отправляет ответы по каналу HTTP-ответа. Ни один из этих двух видов ответов не требует указания, куда идут сообщения ответа-HTTP. Когда серверу требуются анонимные ответы от клиента, он использует значение Anonymous перечисления . В предоставленных NetTcpBindingсистемой WCF привязках и WSHttpBindingBasicHttpBinding всегда используются анонимные адреса.
Неаномические адреса используются, когда для отправки ответа требуется создать новый канал для обмена данными. В предоставленной системой привязке WCF используется WSDualHttpBinding адрес nonAnonymous. При двустороннем HTTP-взаимодействии клиент создает HTTP-запрос для отправки сообщения, а затем сервер должен создать собственный HTTP-запрос для отправки ответа. Поскольку сервер инициирует отправку, он должен указать определенную конечную точку для установки соединения. Необходимо предоставить серверу адрес конечной точки для ответа. Аналогичным образом, если служба должна отвечать на полученное одностороннее сообщение, ей также требуется адрес nonAnonymous, так как для обмена данными нет доступного обратного канала. Если сервер отправляет сообщение обратно, требуется совершенно отдельная операция, не связанная с операцией отправки первого сообщения.
Смешанная — это третья форма адресации, которая объединяет анонимные и неасонимные адреса в зависимости от отправляемого сообщения. Типичный пример адресации в режиме Mixed — использование выделенного компьютера для обработки сообщений об ошибках и подтверждений. Если стандартная последовательность обмена для ответов — HTTP или TCP, ответы используют анонимную адресацию, а ошибки — неанонимную. Хотя WCF не предоставляет функции смешанной адресации в одной из своих стандартных привязок, можно написать канал, который позволяет службе отправлять ответы непосредственно на обратный канал (если адрес ответа анонимный) или в отдельном канале (если адрес ответа не является Анонимным). В этом случае элемент привязки канала используется для установки значения SupportedAddressingMode Mixed.