使用Silverlight / IIS进行双工轮询的可扩展性

时间:2009-07-27 17:12:48

标签: c# wcf silverlight web-services

我一直在使用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个并发连接是每个机器

简而言之,有没有人有事实/基准?

谢谢:)

4 个答案:

答案 0 :(得分:6)

这是我对此的理解,但我还没有做过测试。

在非服务器操作系统(XP / Vista / Windows 7)上存在内置的10连接限制。 在IIS 6(XP)上,一旦有10个正在进行,它将拒绝新连接。 在II7(Vista / Windows 7)上,一旦有10个正在进行,它将排队连接。我认为这意味着10个同时连接已经结束。

在服务器OS端(2003/2008),没有连接限制。但是,在IIS6(2003)上,每个长时间运行的连接都将从线程池中获取一个线程,因此您将很快遇到连接限制。在IIS7(2008)上,异步线程以不占用线程的方式挂起,因此应该有1000个连接。

答案 1 :(得分:5)

http://tomasz.janczuk.org/2009/09/scale-out-of-silverlight-http-polling.html讨论了在Web场方案中使用协议的WCF后端的可伸缩性。

答案 2 :(得分:1)

有WCF内置限制。但是,通过配置可以非常容易地扩展这些限制。 (http://weblogs.asp.net/alexeyzakharov/archive/2009/04/17/how-to-increase-amount-of-silverlight-duplex-clients.aspx

我遇到了双面绑定的一些问题。由于没有明显的原因,频道有时会出现故障并且很难重新连接。我不知道有任何替代方法可以实现推送模型,而不是自己做所有事情(并且可能会得到最差的结果)。

答案 3 :(得分:0)

http://tomasz.janczuk.org/2009/08/performance-of-http-polling-duplex.html讨论了Silverlight HTTP轮询双工协议的性能以及IIS中WCF服务的调优。