1

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

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

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

请帮我解决这个问题。

谢谢

4

2 回答 2

0

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

用于绑定:绑定名称="pollingDu​plexBinding" maxConnections="100"

对于 serviceBehaviors 行为: serviceThrottli​ng maxConcurrentCalls="1000" maxConcurrentIn​stances="1000" maxConcurrentSe​ssions="1000"

和 pollingDuplex maxPendingSessi​ons="2147483647​" maxPendingMessa​gesPerSession="​2147483647"

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

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

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

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

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

于 2012-08-17T15:38:52.690 回答
0

问题是 IIS 可以运行的并发线程数(听起来您现在将其配置为运行 10 个)。您可以通过 IIS 配置增加该数量……但性能会受到影响。

问题是 IIS 中托管的双工服务从不释放它们的线程……所以每个连接到该服务的用户都会占用另一个 IIS 工作线程。双工性能已在其他地方讨论过,但共同的基调是:

IIS 不能承载可伸缩的双工服务。

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

祝你好运。

于 2009-08-25T14:23:21.060 回答