经过几读,包括...
...我想我已经准备好长时间投票了。
从第二个链接来看,我的理解是异步模式使我们能够:
请求“安全地休息”-还是被释放? -不消耗任何额外费用
资源
发生
我的假设听起来正确吗?我还假定由于上述机制可以将零线程 bundle 在一起等待事件,因此它具有很大的可伸缩性。
这是今天以及使用.NET 4.5实现WCF长轮询的最佳方法吗?
最佳答案
我相信我的最初印象是错误的。当WCF请求处理程序线程接收到一个请求并将其交给工作线程时,我以为所有资源都以某种方式被神奇地释放了。情况并非如此,因为工作线程成为了正在等待的线程!随着请求量的增加,这听起来不比传统的轮询更具可扩展性。
尽管诸如SignalR之类的框架提供了长时间的轮询,但我认为没有任何方法可以在WCF中以不占用线程的方式来 native 构建它。
我遇到了一些其他有用的链接。令人震惊的是,他们似乎从可伸缩性的角度推荐传统轮询。
让我知道你们是否还有其他见识。
关于multithreading - 2013年WCF长投票,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16114425/