【问题标题】:WCF NetTCP Binding Over InternetWCF NetTCP 通过 Internet 绑定
【发布时间】:2010-12-08 03:19:30
【问题描述】:

我有一个问题。我想提供一系列使用 WCF 制作的服务。使用服务的客户端也是带有 WCF 的 .NET。我想要高速访问、快速响应、传输中小型数据合同(主要的 .net 基本数据类型)。分发将通过互联网进行,我正在寻找可靠性、可用性和基本安全性。

我不想使用 WsHttp,因为我唯一的客户端是基于 .net 的,我将有近 150 个客户端请求服务。

您建议使用什么进行绑定?有什么缺点、风险等吗?

提前致谢!

【问题讨论】:

    标签: wcf .net-3.5 wcf-binding


    【解决方案1】:

    由于您计划使用简单类型和小型数据协定,与通过 Internet 引入的延迟相比,您使用的绑定几乎无关紧要。因此,正确的答案是使用最容易管理和最安全的一种。

    我建议您将应用程序托管在 IIS 中并使用 wsHttpBinding 并获得随之而来的所有可管理性优势。它也恰好是可互操作的,虽然这在今天无关紧要,但它是免费的,为什么不呢?

    并且,请考虑您的服务的粒度。你更了解你的客户,但是在广泛开放的互联网上,事情发生了。由于 Internet 上的往返时间是可变的且无法控制,因此可能需要几毫秒或几秒,或者可能根本达不到。因此,如果可能的话,您应该减少使用较大负载的行程,并使用各种缓存和异步操作来使应用看起来“快”。

    【讨论】:

      【解决方案2】:

      这里有一篇 Juval Lowy 关于选择绑定的好文章:

      http://www.code-magazine.com/article.aspx?quickid=0605051&page=3

      通常建议不要在互联网上使用 net tcp 绑定。没听说有人这样做。虽然如果端口一直打开并且没有人阻止调用,它可能会起作用。

      用nettcp测试一下,如果还是不行就改配置就好了。

      最重要的是考虑您的安全需求。你只需要点对点,然后basichttp over ssl。是否需要端到端,然后是带有消息加密的 wshttp。

      【讨论】:

      • 感谢 Shiraz 到目前为止,它只计划由 .net windows form 应用程序使用,渠道将是互联网。我们有防火墙,但电信公司的人可以配置从某个 IP 访问的端口,分支机构有专门的互联网连接,所以安全不是主要问题
      • IP 地址很容易被欺骗,这很容易受到中间人的攻击。如果您的数据很有价值,请通过 Internet 对其进行加密。无需专线即可解决此问题的一种廉价、简单的解决方案是使用 VPN。
      【解决方案3】:

      根据您的方案,NetTcpBinding 是首选绑定。由于您确定客户端将是 WCF,因此无需互操作性。

      看看here in Programing WCF Services book。

      我唯一不确定的是防火墙。如果你必须了解这些,也许一些 WS 绑定可能更合适。

      【讨论】:

      • 感谢菲利普您的回复。我不会有互操作性,但如果发生这种情况,我可以多个绑定配置服务。到目前为止,它只计划由 .net windows form 应用程序使用,渠道将是互联网。我们有防火墙,但电信公司的人可以配置从某个 IP 访问的端口,分支机构有专用的互联网连接,所以安全不是主要问题。我去看看那本书。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      相关资源
      最近更新 更多