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

Определение

Указывает, поддерживает ли служба отправку ответов только на анонимные адреса, только на неанонимные адреса, или на оба типа адресов.

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

Поля

Anonymous 0

Сервер поддерживает только анонимные адреса и клиенты должны предоставлять анонимный обратный адрес.

Mixed 2

Сервер поддерживает анонимные и неанонимные адреса и клиенты могут выбрать использовать один из них или оба.

NonAnonymous 1

Сервер поддерживает только неанонимные адреса и клиенты должны предоставлять неанонимный обратный адрес.

Комментарии

Это перечисление используется для задания возможностей сервера, который, в свою очередь, устанавливает требования для клиентов.

Windows Communication Foundation (WCF) имеет множество элементов управления адресацией для указания места отправки сообщений. Например, есть логический адрес To для места назначения сообщения, физический адрес ("Via"), который используется транспортом, прослушиваемым службой, и адрес ReplyTo конечной точки, содержащий адрес конечной точки клиента.

В самом общем случае, когда две стороны обмениваются сообщениями только между собой, нет необходимости отдельно задавать эти адреса. Но так как в обмене сообщениями могут быть задействованы другие пункты назначения, нужно уметь определить, когда требуется задать эти адреса явно. Даже при взаимодействии только двух сторон это иногда может потребоваться, как, например, в случае с двусторонним HTTP-взаимодействием, когда сервер должен создавать собственный HTTP-запрос. Следующие типы отношений определены перечислением SupportedAddressingMode для описания шаблонов обмена сообщениями.

  • Анонимные адреса являются наиболее базовыми формами адресации. Анонимная адресация используется, если есть путь ответа по умолчанию. Протокол TCP — это двунаправленный транспорт, ответ на сообщение TCP может быть отправлен обратно на тот же сокет, с которого пришло исходное сообщение. Аналогично, модель запрос-ответ протокола HTTP отправляет ответы по каналу HTTP-ответа. Ни один из этих двух видов ответов не требует указания, куда идут сообщения ответа-HTTP. Если сервер требует анонимных ответов от клиента, он использует анонимное значение перечисления. Предоставляемая системой WCF NetTcpBinding BasicHttpBinding и WSHttpBinding привязки всегда используют анонимные адреса.

  • Неанонимные адреса, используемые при отправке ответа, требуют создания нового канала для обмена данными. Привязка, предоставляемая системой WCF, WSDualHttpBinding использует неанонимный адрес. При двустороннем HTTP-взаимодействии клиент создает HTTP-запрос для отправки сообщения, а затем сервер должен создать собственный HTTP-запрос для отправки ответа. Поскольку сервер инициирует отправку, он должен указать определенную конечную точку для установки соединения. Необходимо предоставить серверу адрес конечной точки для ответа. Аналогичным образом, если служба должна реагировать на однонаправленное сообщение, оно также требует неанонимного адреса, так как нет доступного обратного канала для обмена данными. Если сервер отправляет сообщение обратно, требуется совершенно отдельная операция, не связанная с операцией отправки первого сообщения.

  • Mixed — это третья форма адресации, которая сочетает анонимные и неанонимные адреса в зависимости от отправляемого сообщения. Типичный пример адресации в режиме Mixed — использование выделенного компьютера для обработки сообщений об ошибках и подтверждений. Если стандартная последовательность обмена для ответов — HTTP или TCP, ответы используют анонимную адресацию, но ошибки используют неанонимную адресацию. Хотя WCF не предоставляет функции смешанной адресации в одной из своих стандартных привязок, можно написать канал, позволяющий службе отправлять ответы непосредственно на канале обратной связи (если адрес ответа анонимный) или в отдельном канале (если адрес ответа является неанонимным). В этом случае элемент привязки канала используется для установки SupportedAddressingMode смешанного типа.

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