ConcurrencyMode“Single”/“Multiple”与InstanceContextMode“PerCall”之间的区别

时间:2012-03-08 14:33:14

标签: wcf

我已经了解了不同的WCF服务行为(ConcurrencyModes/InstanceContextModes),但使用ConcurrencyMode“PerCall”之间没有区分InstanceContextMode“单个”/“多个” ”。谁能帮我理解呢?

2 个答案:

答案 0 :(得分:16)

这篇关于Sessions, Instancing, and Concurrency的文章很好地解释了每种模式和模式组合的差异。特别是,它在Concurrency部分回答了你的问题:

  

在PerCall实例化中,并发性是不相关的,因为每个消息都由新的InstanceContext处理,因此,InstanceContext中永远不会有多个线程处于活动状态。

所以答案是,如果您的服务是每次调用实例化,那么在单个和多个并发之间没有差异。

答案 1 :(得分:3)

对于PerCall实例化ConcurrencyMode“Multiple”可以提供更好的吞吐量。见PerCall / Multi-Threaded Services。该文章由this answer提及。