我已经研究了不同的WCF服务行为(ConcurrencyModes/InstanceContextModes
),但使用InstanceContextMode
"PerCall"没有得到ConcurrencyMode
"Single"/"Multiple"之间的区别。有人能帮我理解吗?
这篇关于会话、实例化和并发的文章很好地解释了每种模式和模式组合中的差异。特别是,它在并发部分回答了您的问题:
在PerCall实例化中,并发性是不相关的,因为每个消息都由一个新的InstanceContext处理,因此InstanceContext中活动的线程永远不会超过一个。
因此,答案是,如果每次调用都实例化服务,则单并发和多并发之间没有区别。
For PerCall实例化ConcurrentMode"Multiple"可以提供更好的吞吐量。请参阅PerCall/Multi-Threaded Services。这篇文章就是这样回答的。