又見How does a WCF server inform a WCF client about changes? (Better solution then simple polling, e.g. Coment or long polling)WCF通過防火牆推送到客戶端?
我需要通過客戶端的防火牆使用推技術與WCF。這肯定是一個常見的問題,我知道它在理論上是有效的(參見下面的鏈接),但是我沒有得到它的工作,並且我還沒有找到能夠證明它的代碼示例。
要求:
- WCF
- 客戶端連接到服務器通過TCP端口80(NetTcpBinding的)。
- 服務器以不規則間隔(1分鐘到幾個小時)推回信息。
- 用戶不應該配置防火牆,服務器推送必須通過所有入站端口關閉的防火牆。爲此,需要在同一連接上使用TCP雙工,因爲必須在客戶端防火牆上打開端口,所以雙重綁定不起作用。
- 客戶端定期向服務器發送心跳信號(可能每隔15分鐘),以便服務器知道客戶端仍然活着。
- 服務器是IIS7與WAS。
該解決方案似乎是雙工netTcpBinding。基於這樣的信息:
WCF through firewalls and NATs
Keeping connections open in IIS
但我還沒有找到一個代碼示例工程..我試着從微軟的WCF採樣結合的「雙面」和「TcpActivation」樣本沒有任何運氣。請有人指點我的示例代碼,或者構建一個小示例應用程序。非常感謝!
你遇到任何異常?究竟是什麼不工作? – jrista 2009-10-23 01:05:29