在silverlight 3.0中使用wcf pollingduplex连接限制

时间:2009-08-25 14:19:53

标签: wcf silverlight duplex

我已经构建了一个用于消息服务的silverlight应用程序。我的问题是silverlight应用程序 10连接后断开连接。但我希望它无限或数千。我花了很多时间来解决这个问题。关于我的申请的一些观点:

  1. 我已经构建了3个类似Silverlight项目,web项目,wcf服务项目的项目。
  2. 我在使用we.bconfig进行配置的wcf中使用PollingDuplexHttpBinding。
  3. 在silverlight项目中,我添加了服务引用并使用pollingduplex绑定创建服务对象。
  4. 我已经配置了wcf服务项目的web.config,如:

                                                                                    

  5. 我在iis6 server 2003服务器上测试了这个项目,但问题相同。

  6. 请帮我解决这个问题。

    由于

2 个答案:

答案 0 :(得分:0)

问题是IIS可以运行的并发线程数(听起来你已经将它配置为目前运行10)。您可以通过IIS配置增加该数量......但性能将受到影响。

问题是IIS中托管的双工服务永远不会释放他们的线程......所以连接到该服务的每个用户都会吸收另一个IIS工作线程。其他地方已经讨论过双工性能,但常见的基调是:

IIS无法托管可扩展的双工服务。

我的建议是找到托管这些服务的另一种方式(IIS外部的WCF,自定义Web服务器等)。

祝你好运。

答案 1 :(得分:0)

我注意到使用一个Internet Explorer时,我的PollingDuplex软件限制了10个客户端。 Windows 2008 Server R2计算机和具有许多设置的Web.config仍存在限制:

用于绑定:binding name =“pollingDu plexBinding”maxConnections =“100”

for serviceBehaviors行为:serviceThrottli ng maxConcurrentCa lls =“1000”maxConcurrentIn stances =“1000”maxConcurrentSe ssions =“1000”

并且对于pollingDuplex maxPendingSessi ons =“2147483647”maxPendingMessa gesPerSession =“2147483647”

但是当我尝试不同的客户时:

  • 服务器上IE上的6个客户端

  • 在不同客户端计算机上的IE上的6个客户端

  • 此客户端计算机上的FireFox上的4个客户端

它有效。因此,对于相同的客户端连接存在某种限制。