SupportedAddressingMode 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定服务是否支持仅向匿名地址或仅向非匿名地址发送响应,或二者都支持。
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 回复通道发送响应。 这些响应都不要求指定响应消息的去向。 当服务器需要来自客户端的匿名响应时,它将使用枚举的匿名值。 WCF 系统提供的 NetTcpBinding BasicHttpBinding 和 WSHttpBinding 绑定始终使用匿名地址。
发送响应时使用非匿名地址需要创建新的通信通道。 WCF 系统提供的 WSDualHttpBinding 绑定使用非匿名地址。 使用双向 HTTP 时,客户端会创建 HTTP 请求来发送消息,服务器随后必须创建自己的 HTTP 请求来发送响应。 由于服务器要启动发送,所以它必须有一个特定的终结点才能建立连接。 您必须为服务器提供用于响应的终结点地址。 同样,如果某项服务必须对收到的单向消息做出响应,则它还需要非匿名地址,因为没有可用于通信的返回通道。 如果服务器要发回消息,则需要一个完全不同于用来发送第一个消息的单独操作。
"混合" 是第三种形式的寻址,它结合了匿名地址和非匿名地址,具体取决于所发送的消息。 混合模式寻址的典型示例是使用专用计算机来处理错误或确认消息。 如果回复的标准交换序列是 HTTP 或 TCP,则响应使用匿名寻址,但错误使用非匿名寻址。 尽管 WCF 在其标准绑定中不提供混合寻址功能,但也可以编写一个通道,使服务可以在响应地址为 Anonymous 时直接在后信道 (上发送响应) 或者在单独的通道 (当响应地址不是匿名的) 时使用。 在这种情况下,通道的 binding 元素用于设置 SupportedAddressingMode 为 Mixed。