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

Определение

Указывает, поддерживает ли служба отправку ответов только на анонимные адреса, только на неанонимные адреса, или на оба типа адресов.Specifies whether a service supports sending responses to anonymous addresses only, to non-anonymous addresses only, or to both.

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

Поля

Anonymous 0

Сервер поддерживает только анонимные адреса и клиенты должны предоставлять анонимный обратный адрес.The server only supports anonymous addresses and clients must provide an anonymous response address.

Mixed 2

Сервер поддерживает анонимные и неанонимные адреса и клиенты могут выбрать использовать один из них или оба.The server supports both anonymous and non-anonymous addresses and clients may choose to use either or both.

NonAnonymous 1

Сервер поддерживает только неанонимные адреса и клиенты должны предоставлять неанонимный обратный адрес.The server only supports non-anonymous addresses and clients must provide a non-anonymous response address.

Комментарии

Это перечисление используется для задания возможностей сервера, который, в свою очередь, устанавливает требования для клиентов.This enumeration is used to specify the capability of a server, which, in turn, imposes a requirement on its clients.

Windows Communication Foundation (WCF) имеет множество элементов управления адресацией для указания места отправки сообщений.Windows Communication Foundation (WCF) has a variety of addressing controls for specifying where messages should be sent. Например, есть логический адрес To для места назначения сообщения, физический адрес ("Via"), который используется транспортом, прослушиваемым службой, и адрес ReplyTo конечной точки, содержащий адрес конечной точки клиента.For example, there is the logical To address for the message destination, the physical ("Via") address, used by the transport, at which a service listens, and the ReplyTo address of the endpoint that provides the address of the client endpoint.

В самом общем случае, когда две стороны обмениваются сообщениями только между собой, нет необходимости отдельно задавать эти адреса.In the most basic case, when two parties exchange messages between themselves only, it is not necessary to specify these addresses separately. Но так как в обмене сообщениями могут быть задействованы другие пункты назначения, нужно уметь определить, когда требуется задать эти адреса явно.But because exchanges can involve other message destinations, you must be able to specify when addresses must be explicitly provided. Даже при взаимодействии только двух сторон это иногда может потребоваться, как, например, в случае с двусторонним HTTP-взаимодействием, когда сервер должен создавать собственный HTTP-запрос.Even between just two parties this ability is sometimes required, as with dual HTTP where the server must create its own HTTP request. Следующие типы отношений определены перечислением SupportedAddressingMode для описания шаблонов обмена сообщениями.The following kinds of relationships are defined by the SupportedAddressingMode enumeration to capture these messaging patterns:

  • Анонимные адреса являются наиболее базовыми формами адресации.Anonymous addresses are the most basic form of addressing. Анонимная адресация используется, если есть путь ответа по умолчанию.Anonymous addressing is used when there is a default path for a response. Протокол TCP — это двунаправленный транспорт, ответ на сообщение TCP может быть отправлен обратно на тот же сокет, с которого пришло исходное сообщение.TCP is a bi-directional communication transport and the response to a TCP message can be sent back to the other side of the socket that sent the original message. Аналогично, модель запрос-ответ протокола HTTP отправляет ответы по каналу HTTP-ответа.Similarly, the request-reply model of HTTP sends responses through the HTTP reply channel. Ни один из этих двух видов ответов не требует указания, куда идут сообщения ответа-HTTP.Neither of these responses requires specifying where the response messages are going. Если сервер требует анонимных ответов от клиента, он использует анонимное значение перечисления.When a server requires anonymous responses from the client, it uses the Anonymous value of the enumeration. Предоставляемая системой WCF NetTcpBinding BasicHttpBinding и WSHttpBinding привязки всегда используют анонимные адреса.The WCF system-provided NetTcpBinding, BasicHttpBinding and WSHttpBinding bindings always use Anonymous addresses.

  • Неанонимные адреса, используемые при отправке ответа, требуют создания нового канала для обмена данными.NonAnonymous addresses are used when sending the response requires creating a new channel for communication. Привязка, предоставляемая системой WCF, WSDualHttpBinding использует неанонимный адрес.The WCF system-provided WSDualHttpBinding binding uses a NonAnonymous address. При двустороннем HTTP-взаимодействии клиент создает HTTP-запрос для отправки сообщения, а затем сервер должен создать собственный HTTP-запрос для отправки ответа.With dual HTTP, the client creates an HTTP request to send a message and then the server must create its own HTTP request to send a response. Поскольку сервер инициирует отправку, он должен указать определенную конечную точку для установки соединения.Because the server is initiating the send, it must have a specific endpoint to establish the connection. Необходимо предоставить серверу адрес конечной точки для ответа.You must provide the server the address of an endpoint for its response. Аналогичным образом, если служба должна реагировать на однонаправленное сообщение, оно также требует неанонимного адреса, так как нет доступного обратного канала для обмена данными.Similarly, if a service must respond to a one-way message that it received, it also requires a NonAnonymous address because there is no back channel available for communication. Если сервер отправляет сообщение обратно, требуется совершенно отдельная операция, не связанная с операцией отправки первого сообщения.If the server sends a message back, a completely separate operation from that used to send the first message is required.

  • Mixed — это третья форма адресации, которая сочетает анонимные и неанонимные адреса в зависимости от отправляемого сообщения.Mixed is a third form of addressing which combines Anonymous and NonAnonymous addresses depending on the message that is being sent. Типичный пример адресации в режиме Mixed — использование выделенного компьютера для обработки сообщений об ошибках и подтверждений.A typical example of mixed-mode addressing is the use of a dedicated machine for processing fault or acknowledgment messages. Если стандартная последовательность обмена для ответов — HTTP или TCP, ответы используют анонимную адресацию, но ошибки используют неанонимную адресацию.If the standard exchange sequence for replies is HTTP or TCP, the responses use Anonymous addressing but the faults use non-anonymous addressing. Хотя WCF не предоставляет функции смешанной адресации в одной из своих стандартных привязок, можно написать канал, позволяющий службе отправлять ответы непосредственно на канале обратной связи (если адрес ответа анонимный) или в отдельном канале (если адрес ответа является неанонимным).While WCF does not provide Mixed addressing functionality in one of its standard bindings, it is possible to write a channel that allows the service to send responses directly on the back-channel (when the response address is Anonymous) or on a separate channel (when the response address is NonAnonymous). В этом случае элемент привязки канала используется для установки SupportedAddressingMode смешанного типа.In such a case, the binding element of the channel is used to set SupportedAddressingMode to Mixed.

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