我无法一遍又一遍地理解this MSDN article我们为什么要使用它以及它是如何工作的:
我们假设我有一个服务
InstanceContextMode = InstanceContextMode.PerSession
ConcurrencyMode=ConcurrencyMode.Single
如果我有2个客户端用于此服务并且他们同时在该服务中激活方法,为什么其中一个客户端要等到服务完成另一个请求? PerSession + 2个客户端=“2”服务,每个服务器都有ConcurrencyMode.Single。我的错误在哪里?
答案 0 :(得分:2)
至于你的问题的B部分,这里有一系列关于WCF实例化,并发性和限制的优秀文章:
<强>更新强>
检查每个客户端调用的服务上的实例上下文ID,会话ID和线程ID,并首先验证它们是否不同。
检查实例上下文ID:
OperationContext.Current.InstanceContext.GetHashCode()
检查会话ID:
OperationContext.Current.SessionId
检查线程ID:
Thread.CurrentThread.ManagedThreadId
如果每个客户都不同,那么我无法解释您遇到的问题。