对等解析程序

为了连接到网格,对等节点需要其他节点的 IP 地址。 IP 地址可通过联系解析程序服务来获取,该服务获取网格 ID,然后返回与向该特定网格 ID 注册的节点对应的地址列表。 解析程序保留一个已注册地址的列表,该列表是通过网格中的每个节点向服务注册来创建的。

可以通过 ResolverNetPeerTcpBinding 属性指定使用哪个 PeerResolver 服务。

支持的对等解析程序

对等通道支持两种类型的解析程序:对等名称解析协议(PNRP)和自定义解析程序服务。

默认情况下,对等通道使用 PNRP 对等解析程序服务发现网格中的对等方和邻居。 对于 PNRP 不可用或可行的情况/平台,Windows Communication Foundation (WCF) 提供了一种替代的基于服务器的发现服务 -CustomPeerResolverService 还可以通过编写实现接口的 IPeerResolverContract 类来显式定义自定义解析程序服务。

对等名称解析协议 (PNRP)

PNRP 是 Windows Vista 的默认解析程序,是分布式无服务器名称解析程序服务。 还可以通过安装高级网络包在 Windows XP SP2 上使用 PNRP。 运行相同版本的 PNRP 的任何两个客户端都可以使用此协议相互定位,前提是它们满足某些条件(例如缺少干预的公司防火墙)。 请注意,随 Windows Vista 附带的 PNRP 版本比高级网络包中包含的版本更新。 检查Microsoft下载中心以获取 Windows XP SP2 的 PNRP 更新。

自定义解析程序服务

当 PNRP 服务不可用或想要完全控制网格调整时,可以使用基于服务器的自定义解析程序服务。 可以通过编写实现 IPeerResolverContract 接口的解析程序类或使用内置默认实现 CustomPeerResolverService来显式定义此服务。

在服务的默认实现下,如果客户端未显式刷新注册,客户端注册将在一定时间后过期。 使用解析程序服务的客户端必须注意客户端-服务器延迟上限,才能及时成功刷新注册。 这需要在解析程序服务中选择适当的刷新超时 (RefreshInterval)。 (有关详细信息,请参阅 CustomPeerResolverService:客户端注册。)

应用程序编写器还必须考虑保护客户端和自定义解析程序服务之间的连接。 使用客户端用来联系解析程序服务的 NetTcpBinding 上的安全设置,可以达到此目的。 在用于创建对等通道的 ChannelFactory 上,必须指定凭据(如果使用)。 这些凭据将被传递到用来创建通向自定义解析程序的通道的 ChannelFactory

注释

当在本地网络和临时网络中使用自定义解析程序时,强烈建议使用或支持链接本地网络或临时网络的应用程序中包含相应的逻辑,以便选择要在连接时使用的单个链接本地地址。 这可以防止计算机因具有多个链接本地地址而可能造成的混淆。 有鉴于此,对等通道仅支持在任一时刻使用单个链接本地地址。 可以在ListenIpAddress上使用NetPeerTcpBinding属性指定此地址。

有关如何实现自定义解析程序的演示,请参阅 对等通道自定义对等解析程序

本节中

CustomPeerResolverService 内部:客户端注册

另请参阅