【发布时间】:2013-01-17 06:54:30
【问题描述】:
我有一个 WCF Web 服务,作为测试,它包含一个调用存储过程的方法,该过程等待 10 秒然后返回。
我有一个测试程序,它启动了 20 个线程,所有线程都同时调用这个 Web 服务方法。我得到的结果是两个电话在 10 秒内返回,然后 10 秒后又两个电话返回,依此类推。因此,Web 服务一次只处理两个调用。
现在简单的答案可能是将 ConcurrencyMode 更改为 Multiple,并可能更改限制设置,但是当我这样做时,它没有任何效果。
Web 服务托管在 IIS 7.5 上。目前所有设置都是默认设置,尽管正如我所说,我尝试将 ConcurrencyMode 设置为 Multiple。
如果有人能帮我解决这个问题,我将不胜感激。
谢谢, 标记
【问题讨论】:
-
你能分享一个重现问题的示例应用程序吗?不幸的是,在 WCF 中可能有无数个配置旋钮,因此了解您已经调整了哪些以及如何使用 WCF(哪些绑定等)会很有帮助。
-
您的服务器负载如何?也许它在当前状态下一次只能执行两个线程?可能是您的应用程序在客户端一次只执行两个线程?您是否尝试过同时在多个客户端上运行该应用,以查看它是否真的是服务器,或者它是否是客户端?
标签: wcf concurrency