我使用的是NLog 4.3.5和.Net framework 4.6.1
当我开始服务器端操作时,我打电话给:
NLog.MappedDiagnosticsLogicalContext.Set("OperationId", Guid.NewGuid());
Run Code Online (Sandbox Code Playgroud)
这将映射并显示在我的日志文件中.一切都很好......或者是它?在查看我的日志文件时,我注意到这个操作id值似乎没有像我预期的那样工作.
例:
在线程19中,操作开始并设置上下文.
它在所有await调用上使用.ConfigureAwait(false)
它执行一个
var tasks = items.Select(item => Task.Run( () => { /* do stuff */}
await Task.WhenAll(tasks).ConfigureAwait(false)
Run Code Online (Sandbox Code Playgroud)我没想到会发生这种情况,也不确定它是如何发生的.但是,当我查看我的日志历史时,我发现此类事情之前已经发生过.
我认为逻辑调用上下文应该继续存在.是否使用了导致此行为的ConfigureAwait(false)?这是我唯一能想到的......
| 归档时间: |
|
| 查看次数: |
1340 次 |
| 最近记录: |