我有一个 WCF 线程问题,我无法找到一个好的答案。我有一个实现,IDispatchMessageInspector
它具有以下AfterReceiveRequest
实现:
public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
{
return new SessionScope();
}
for 的构造函数SessionScope
将当前范围注册到一个字典,该字典基本上通过其线程跟踪它。然后我有以下操作:
[MyServiceBehavior]
public class Service1 : IService1
{
public string GetData(int value)
{
// Uses SessionScope.Current object for various things
}
}
将GetData
保证与之前检查 WCF 消息的消息检查器在同一线程上运行吗?同样,也会BeforeSendReply
在同一个线程上运行吗?