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

tri*_*ris 10 wcf

我已经看了不同的WCF服务行为(ConcurrencyModes/InstanceContextModes)但是没有ConcurrencyMode使用InstanceContextMode"PerCall" 来区分"Single"/"Multiple ".任何人都可以帮我理解吗?

Mic*_*eld 15

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

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

所以答案是,如果您的服务是每次调用实例化,则单个和多个并发之间没有区别.

  • 单个和多个并发之间存在差异.对于PerCall实例化,ConcurrencyMode"Multiple"可以提供更好的吞吐量.请参阅[PerCall/Multi-Threaded Services] http://blogs.msdn.com/b/rickrain/archive/2009/06/17/wcf-instancing-concurrency-and-throttling-part-2.aspx (2认同)