2013-02-27 80 views
3

我目前有一个使用WCF和netTcpBinding在.NET 4.0中编写的客户机/服务器应用程序,以在我的服务器和我的客户机应用程序之间提供全双工消息。该服务器是AWS EC2上的自承载应用程序。客户端是安装在我的客户PC上的Window 7应用程序。Windows 7上的WCF netHttpBinding

现在我遇到的问题是,我的一位新客户坚持要求我的应用程序通过内部MS ISA 2004代理服务器连接,而不是直接连接到Internet以连接到我的服务器。

问题1:

NetTcpBinding的不是代理知道。我建议客户安装ISA Server的MS防火墙客户端,通过代理路由所有的winsock流量,并简单地将新的允许协议添加到代理服务器。显然这是不可能的,因为建筑中的机器被锁定在安装该软件的位置,所以这不是一种选择。 (Hmmmmm)

问题2:

我必须升级到.NET 4.5并改变netHttpBinding允许双工通信使用HTTP上的WebSockets这样的代理应该只是通过让这个绝妙的主意。我的服务器是Windows Server 2012,所以没有问题。所有在Windows 8上运行良好。我遇到的问题是,我的客户中没有一个使用Windows 8,而且不可能持续多年。目前netHttpBinding只支持Windows 8和Server 2012.(烦人!)

我有的问题是没有人知道我可以用来在.NET 4中生成一个自定义WCF绑定的第三方库,这将允许我连接到一个.NET 4.5 netHttpBinding或任何人都可以指向我的方向来克服这个代理问题,同时保留双工通信?

+0

那么隧道软件(例如Proxifier)或VPN呢? – SalientBrain 2013-02-28 22:19:58

+0

客户IT不希望安装任何第三方软件,或者不得不将网络重新配置到已有的ISA服务器之外。不太有帮助 – user2116522 2013-03-04 14:59:36

回答

0

.NET 4.5仅在Windows 8上可用并不准确。 它实际上支持Vista SP2。

http://msdn.microsoft.com/en-us/library/8z6watww(v=vs.110).aspx

+0

谢谢。我知道这一点。这个问题不是.NET 4.5,而是netHttpBinding,因为它使用不同版本的http.sys,仅在Windows 8和Windows Server 2012上可用。 – user2116522 2013-12-12 09:16:38

+0

我不知道,谢谢你让我知道! (参考:http://www.code-magazine.com/articleprint.aspx?quickid=1210051&printmode=true)。我正在考虑将netHttpBinding用于未来的项目,但现在这个选项已经不在了。请问你采用了什么解决方案? – 2013-12-12 12:06:59

+0

我结束了使用netTcpBinding仍然安装ISA代理客户端软件。不理想,但它的工作。我正在编写一个浏览器版本,现在使用SignalR直接使用浏览器而不是Windows应用程序作为客户端。 (http://signalr.net/) – user2116522 2013-12-13 10:02:12