在IIS上的长轮询

3

我在CF中开发了一个进度条小部件,并且在我的本地机器上使用内置的CF8开发服务器运行得非常好。然而,我们的生产和预发布环境都是运行在Win2k3和IIS上的,我无法让它们尊重CFFLUSH标签。即使通过响应填充缓冲区也不太有效,因为告诉IIS执行刷新操作时,它是否实际刷新缓冲区是相当不可预测的。有没有人知道如何让IIS刷新其缓冲区或者解决此问题的其他方法,而不必更改架构以使用短轮询呢?

2个回答

2
一个快速的谷歌搜索显示有几个其他人遇到了类似的问题。我找到了一篇帖子,建议 IIS 有一个最小缓冲区 大小可能会影响它。那里发布的解决方案基本上是填充缓冲区,但正如您所说的那样不可靠。

你能否转移到某种ajax动力的轮询器/状态栏,就像这里的 jsprogressbarhandler(谷歌搜索“jsprogressbarhandler ajax”)


我最终将代码从长轮询改为短轮询。这不是我想采取的方法,但它足够好用,而长轮询则无法做到这一点。我对短轮询的担忧在于通过频繁评估客户端会给客户端带来很大的压力,如果服务器返回大量JS,则必须转向使用动态脚本标记。不过目前它能够正常工作,感谢您的回复。 - illvm

1

顺便提一下,如果您决定在某个时候需要返回到长轮询解决方案,则可以使用IIS的完整Comet服务器 - 请查看:

www.frozenmountain.com/websync


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接