最近,我们使用基本的http绑定(在IIS中托管)将我们现有的一个Web服务迁移到WCF服务。问题是每当用户向服务发送长时间运行的请求(> 5分钟)时,客户端一直等待服务器响应,直到手动关闭它。在分析了Wireshark和防火墙日志后,我们找到了原因,防火墙默认的HTTP会话超时设置为300秒,因为此防火墙在5分钟后从表中删除了长时间运行的会话。
我们可以通过增加防火墙中的HTTP会话超时来解决这个问题,但复杂性是我们可以在服务器端防火墙控制它,但我们无法控制客户端(每个客户端将有不同的ISP和IT策略)。所以我的网络管理员建议实现保持活动机制(向服务器发送心跳消息),但它对我没用。
我在实现keep-alive机制时尝试了一些事情,
那么,你能帮我解决这个问题吗?