【发布时间】:2013-04-13 10:12:55
【问题描述】:
已经阅读了一些内容,包括...
- http://anthymecaillard.wordpress.com/2012/06/06/wcf-real-time-web-development-with-long-polling/
- How does a WCF server inform a WCF client about changes? (Better solution then simple polling, e.g. Comet or long polling)
...我想我已经准备好进行长轮询了。
从第二个链接,我的理解是异步模式允许我们:
- 在 WCF 服务器上接收请求
- 调用返回 IAsyncResult 的 BeginMyMethod
- 在线程接收时挂在 IAsyncResult 上 请求“安全地休息” - 还是被释放? - 不消耗任何额外的 资源
- 当相关业务逻辑事件发生时“将 IAsyncResult 退出” 发生
- 使用 IAsyncResult 调用 EndMyMethod,在此期间我们完成响应(即将数据写回客户端)
我的假设听起来正确吗?我还假设这是由于上述机制保持零线程等待事件而具有极大的可扩展性。
这是目前使用 .NET 4.5 实现 WCF 长轮询的最佳方式吗?
【问题讨论】:
-
我在我的问题中引用了该链接。再次提出这个问题,因为另一个线程已经三年了,我也在试图确认我对异步模式的解释。
标签: multithreading wcf resources polling scalable