0

我们正在为尚未发布的企业级 LOB 应用程序中的一项功能使用双工合同,该应用程序利用WPF 构建的胖客户端和 WCF 构建的服务器

到目前为止,在开发过程中,我们一直在使用 net.tcp 绑定以获得最佳性能。现在部署即将到来,并且诸如通过 Web 代理访问 Internet 等问题已经暴露出来,net.tcp 不再适合。

我已经开始使用 wsHttp 和 wsDualHttp 但同时意识到通过 Web 代理(以及 NAT 遍历)进行双工连接是不可能的

现在我在想:为什么我不能建立一个 tcp 隧道(使用支持 Web 代理的专有软件,使用 HTTP CONNECT)并获得两全其美、代理支持、速度和安全性?

4

1 回答 1

1

这似乎是一个普遍的要求。

您的选择并不广泛。如果 Microsoft 的 Service Bus 能满足您的需求,它可能是您最好的选择。其他选项是:

  • VPN:不言自明。
  • SSH:SSH 具有内置的隧道功能。如果您只有少量连接,您也许可以使用现成的 SSH 客户端和服务器,但是对于大量连接,很难确保它们都保持可靠连接。有几家公司制造了您可以在其上构建的 SSH 组件(它们不能满足我们的需要),但它们更倾向于 SSH 的远程执行使用而不是隧道。
  • DIY TCP 隧道,这是一项艰巨的工作。不是不可能,而是一项艰巨的任务。并且需要大量的测试来确保你做对了。

就通过隧道连接运行 WCF 而言,如果你走那条路,你不会有任何问题。所有的绑定和特性都工作——回调、可靠性、消息安全、传输安全、事务,都工作得很好。

于 2011-04-28T18:28:48.963 回答