我目前有一个用 .NET 4.0 编写的客户端/服务器应用程序,它使用带有 netTcpBinding 的 WCF 在我的服务器和我的客户端应用程序之间提供全双工消息传递。该服务器是 AWS EC2 上的自托管应用程序。客户端是安装在我客户 PC 上的 Window 7 应用程序。
我现在遇到的问题是,我的一位新客户坚持让我的应用程序通过他们内部的 MS ISA 2004 代理服务器连接,而不是直接通过 Internet 连接到我的服务器。
问题1:
netTcpBinding 不支持代理。我建议客户为 ISA 服务器安装 MS 防火墙客户端,以通过代理路由所有 winsock 流量,并简单地将新的允许协议添加到代理服务器。显然这是不可能的,因为大楼里的机器被锁得太紧而无法安装这个软件,所以这不是一个选择。(嗯嗯)
问题2:
我有升级到 .NET 4.5 并更改为 netHttpBinding 的好主意,以允许使用 WebSockets 通过 HTTP 进行双工通信,因此代理应该允许它通过。我的服务器是 Windows Server 2012,所以没问题。在 Windows 8 上一切正常。我遇到的问题是,我的客户都没有使用 Windows 8,而且在很多年内都不太可能使用。目前 netHttpBinding 仅在 Windows 8 和 Server 2012 上受支持。(烦人!)
我的问题是,有谁知道我可以用来在 .NET 4 中生成自定义 WCF 绑定的第三方库,这将允许我连接到 .NET 4.5 netHttpBinding,或者任何人都可以向我指出任何其他方式的方向在保持双工通信的同时克服这个代理问题?