gpt4 book ai didi

wcf - 如何实现 WCF NetPeerTcpBinding PeerResolver

转载 作者:行者123 更新时间:2023-12-04 21:26:42 25 4
gpt4 key购买 nike

我无法在我们的网络上使用对等名称解析协议(protocol),因为我们服务器场的路由器不支持 IPv6。

所以,我正在尝试实现我自己的 PeerResolver使用数据库。

  • Register 方法在数据库中插入带有 meshId、endpointUri 和 IP 地址列表的行以及创建日期,并返回新创建的行 guid 作为注册 ID。
  • Unregister 方法会删除该 Guid 中的所有内容。
  • Update 方法更新上述信息。
  • 我的 Resolve 方法当前忽略了 maxAddresses 参数并返回数据库中该 meshId 的所有信息。

  • 它作为概念验证工作得很好,但由于文档基本上不存在,我很难决定如何管理事情。例如:
  • 如何处理 maxAddresses 参数。在我的测试中,它通常被调用为 3。为什么是 3?我应该返回哪 3 个?如果我返回的 3 全部不可用但还有其他地址不可用怎么办?它会再试一次吗?然后我是否需要确保在重试时返回不同的 3?我应该怎么做,随机的?或者我是否需要在数据库中有一些关于节点如何连接到其他节点的信息,然后返回地理上接近的节点?
  • 如果应用程序和平停止,它将调用 Unregister,但这显然并不总是发生。如何管理清理?
  • 所有超时变量的文档似乎表明,如果在没有命令执行预期操作的情况下达到限制,我应该抛出 TimeoutException。如果您尝试通过网络连接到对等解析服务(如 PNRP),我可以看到这有多重要,但由于我使用的是本地数据库,我应该忽略这些值吗?
  • CanShareReferrals 属性和 PeerReferralPolicy 枚举的文档对您可以从属性名称和枚举成员本身推测的值进行了非常明显的描述,但绝对没有提供关于选择一个而不是另一个的因素的见解。

  • 如果有人有很多 WCF 经验,可以对这些问题有所了解,我会很高兴的。

    最佳答案

    MSDN 中所述Microsoft 的对等名称解析协议(protocol)使用 Teredo隧道以解决 IP6/IP4 访问问题。

    只需允许服务器场的 Teredo 隧道,它就可以工作

    关于wcf - 如何实现 WCF NetPeerTcpBinding PeerResolver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2300295/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com