我有一个带有 ServiceBehavior(InstanceContextMode = InstanceContextMode.Single,ConcurrencyMode = ConcurrencyMode.Multiple)的 WCF 服务。我想使用 ThreadStatic 变量来获取数据。
我开始担心是否有可能对相同或不同 operationContracts 的两个并行请求由同一个线程服务器端处理,因为如果发生这种情况,我的 ThreadStatic 变量将被覆盖。(即类似于 ASP.NET 中 HttpHandlers 和 HttpModules 之间的线程更改)
我用相同的 ServiceBehaviour 和 maxConcurrentCalls="2" 做了一个尖峰服务。之后,一个 wcf 客户端用 50 个并行请求调用了该服务,而我的担心并没有发生。然而,这并不是 100% 的证明。
预先感谢!