我一直在使用 Silverlight、Web 服务和轮询构建客户端/服务器应用程序。显然,当我第一次研究这个主题时,我错过了整个双工通信。无论如何,MSDN article我看到这个主题很有前途。
在研究可扩展性时,似乎对这个主题存在矛盾的意见。
silverlight.net/forums/t/89970.aspx - 此线程似乎表明双工轮询仅支持有限数量的并发客户端在服务器端。
dotnetaddict.dotnetdevelopersjournal.com/sl_polling_duplex.htm - 此博客条目出现在多个地方,因此混淆了水域。
silverlight.net/forums/t/108396.aspx - 此线程表明我不是唯一有此顾虑的人,但其中没有答案。
silverlight.net/forums/t/32858.aspx - 尽管有各种负面报道,但该帖子似乎有官方回应,称每台 机器 有 10 个并发连接。
简而言之,有没有人有事实/基准?
谢谢:)
最佳答案
这是我的理解,但我没有做过测试。
在非服务器操作系统 (XP/Vista/Windows 7) 上有一个内置的 10 个连接限制。 在 IIS 6 (XP) 上,一旦有 10 个正在进行的连接,它将拒绝新连接。 在 II7 (Vista/Windows 7) 上,一旦有 10 个正在进行,它就会对连接进行排队。我认为这意味着 10 个并发连接断开。
在服务器操作系统端 (2003/2008),没有连接限制。但是,在 IIS6 (2003) 上,每个长时间运行的连接都会从线程池中获取一个线程,因此您很快就会遇到连接限制。在 IIS7 (2008) 上,异步线程以一种不会用完线程的方式挂起,因此应该可以有 1000 个连接。
关于c# - 使用 Silverlight/IIS 的双工轮询的可扩展性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1189420/