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 回复通道发送响应。 这些响应都不要求指定响应消息的去向。 当服务器需要来自客户端的匿名响应时,它将使用枚举的匿名值。 WCF 系统提供的 NetTcpBinding BasicHttpBindingWSHttpBinding 绑定始终使用匿名地址。

  • 发送响应时使用非匿名地址需要创建新的通信通道。 WCF 系统提供的 WSDualHttpBinding 绑定使用非匿名地址。 使用双向 HTTP 时,客户端会创建 HTTP 请求来发送消息,服务器随后必须创建自己的 HTTP 请求来发送响应。 由于服务器要启动发送,所以它必须有一个特定的终结点才能建立连接。 您必须为服务器提供用于响应的终结点地址。 同样,如果某项服务必须对收到的单向消息做出响应,则它还需要非匿名地址,因为没有可用于通信的返回通道。 如果服务器要发回消息,则需要一个完全不同于用来发送第一个消息的单独操作。

  • "混合" 是第三种形式的寻址,它结合了匿名地址和非匿名地址,具体取决于所发送的消息。 混合模式寻址的典型示例是使用专用计算机来处理错误或确认消息。 如果回复的标准交换序列是 HTTP 或 TCP,则响应使用匿名寻址,但错误使用非匿名寻址。 尽管 WCF 在其标准绑定中不提供混合寻址功能,但也可以编写一个通道,使服务可以在响应地址为 Anonymous 时直接在后信道 (上发送响应) 或者在单独的通道 (当响应地址不是匿名的) 时使用。 在这种情况下,通道的 binding 元素用于设置 SupportedAddressingMode 为 Mixed。

适用于