【发布时间】:2018-12-30 15:03:05
【问题描述】:
我有这种情况,我看到线程的 CallContext 在后续调用中向前传递数据。
假设我有一个简单的 API,当被查询时,它将使用以下方法将一个数据条目设置到 CallContext 中:
// entry to the API execution within OnStartProcessingRequest method of DataService
if(CallContext.LogicalGetData("data") != null)
CallContext.LogicalSetData("data", someValue)
print("data " + CallContext.LogicalGetData("data"))
当我在一些 API 查询后看到日志时,我会看到类似的日志。
|线程 |日志 |
| 237 |数据 23 |
| 145 |数据 19 |
|第872章数据 78 |
| 237 |数据 23 |
我担心为什么 ID 为 237 的线程会提取旧数据?即 23
我确定控件没有进入 LogicalSetData 代码块,因为它已经有数据。
我不确定为什么会这样?谁能帮我解决这个问题?
该服务是 WCF 数据服务。正在从邮递员 REST 客户端进行调用。
【问题讨论】:
标签: c# wcf-data-services threadstatic callcontext