积极答复者
关于服务操作并发调用的问题

问题
-
我的一个WCF服务标记了如下的服务行为:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall,
ConcurrencyMode = ConcurrencyMode.Multiple,
Namespace = "FullTextSearch.WcfService",
Name = "SearchService")],应该是可以并发调用服务中的方法的,但我在测试中发现,当多人同时调用此服务中的某个耗时的方法时,其它人需等待上一个人调用完成才能执行,那我设置了ConcurrencyMode = ConcurrencyMode.Multiple不是没用吗?\
请大家指教,应该怎么做才能使调用操作不会在并发时相互等待,谢谢!
答案
-
- 已标记为答案 monkeyfuModerator 2009年2月24日 5:13
-
percall实例模式代表每次调用都会产生新的实例,这样就不存在并发问题
只有当是每个会话一个实例或singleton方式的话并发模式设置为multiple才有意义啊
- 已标记为答案 monkeyfuModerator 2009年2月24日 5:13
全部回复
-
我的一个WCF服务标记了如下的服务行为:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall,
ConcurrencyMode = ConcurrencyMode.Multiple,
Namespace = "FullTextSearch.WcfService",
Name = "SearchService")],应该是可以并发调用服务中的方法的,但我在测试中发现,当多人同时调用此服务中的某个耗时的方法时,其它人需等待上一个人调用完成才能执行,那我设置了ConcurrencyMode = ConcurrencyMode.Multiple不是没用吗?\
请大家指教,应该怎么做才能使调用操作不会在并发时相互等待,谢谢!
-
- 已标记为答案 monkeyfuModerator 2009年2月24日 5:13
-
percall实例模式代表每次调用都会产生新的实例,这样就不存在并发问题
只有当是每个会话一个实例或singleton方式的话并发模式设置为multiple才有意义啊
- 已标记为答案 monkeyfuModerator 2009年2月24日 5:13