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