我需要通过客户端防火墙将推送技术与 WCF 一起使用。这一定是一个常见问题,我知道它在理论上是有效的(见下面的链接),但我没能让它工作,我也找不到演示它的代码示例。
要求:
- WCF
- 客户端通过 tcp 端口 80 (netTcpBinding) 连接到服务器。
- 服务器以不规则的时间间隔(1 分钟到几个小时)推送信息。
- 用户不必配置他们的防火墙,服务器推送必须通过所有入站端口关闭的防火墙。为此需要同一连接上的 TCP 双工,双重绑定不起作用,因为必须在客户端防火墙上打开端口。
- 客户端定期(可能每 15 分钟)向服务器发送心跳,因此服务器知道客户端仍然活着。
- 服务器是带有 WAS 的 IIS7。
解决方案似乎是双工 netTcpBinding。基于此信息:
但是我还没有找到有效的代码示例。我尝试将 Microsoft 的 WCF 示例中的“Duplex”和“TcpActivation”示例组合在一起,但没有任何运气。请有人指点我可以工作的示例代码,或构建一个小型示例应用程序。非常感谢!