2013-02-27 18 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