在企业方案中通过代理使用TCP隧道进行双工WCF连接

时间:2011-04-28 13:36:15

标签: wcf nettcpbinding duplex

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

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

我已经开始使用wsHttp和wsDualHttp,但在此期间已经意识到通过Web代理(以及使用NAT遍历)的双工连接实际上是不可能的

现在我在想:为什么我不能设置tcp隧道(使用支持Web代理的专有软件,使用HTTP CONNECT)并充分利用两个世界,代理支持,速度和安全性?

1 个答案:

答案 0 :(得分:1)

这似乎是一个常见的要求。

您的选择并不广泛。如果适用于您的需求,微软的服务总线可能是您最好的选择。其他选项是:

  • VPN:非常明显。
  • SSH:SSH内置了隧道功能。如果您只有少量连接,则可以使用现成的SSH客户端和服务器,但是如果连接数较多,则很难确保它们都可靠地保持连接。有几家公司制造了你可能能够构建的SSH组件(它们不能满足我们的需求),但它们更倾向于远程执行SSH而不是隧道。
  • DIY TCP隧道,这是一项很重要的工作。不是不可能,但是一份大工作。并且需要进行大量的测试以确保您做对了。

就通过隧道连接运行WCF而言,如果你走这条路线,你就不会有任何问题。所有的绑定和功能都起作用 - 回调,可靠性,消息安全性,传输安全性,事务处理,所有工作都很好。