首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HttpContext.TraceIdentifier与Activity.Current.Id的区别

HttpContext.TraceIdentifier与Activity.Current.Id的区别
EN

Stack Overflow用户
提问于 2022-01-24 04:12:16
回答 1查看 703关注 0票数 7

我在日志中使用了“跟踪标识”。关于aspnet回购和这里的建议是从HttpContext.TraceIdentifier获得一个跟踪。

但是,当框架为验证失败创建一个ProblemDetails时,它使用Activity.Current?.Id

示例:

代码语言:javascript
运行
复制
var traceId1 = Activity.Current?.Id;        // OWZ4G27FO6UWH:00000003
var traceId2 = HttpContext.TraceIdentifier; // 00-2a8ee37903e657e3a95b41178dafc56e-91b02006afcf3133-00

我担心我的日志使用一种跟踪id,而框架使用另一种--当我发现自己需要分析日志时,我会遇到问题。

这些有何不同?我该用哪一种?框架通常使用哪种类型?

更新

我也在回购上问过,他们没有解释就关闭了它。如果您有时间,请打开另一个问题,并参考关闭的一个和这个问题。提供一个链接,以便我们可以找到和更新您的问题。

EN

回答 1

Stack Overflow用户

发布于 2022-01-24 09:11:51

HttpContext.TraceIdentifier性质:获取或设置一个唯一标识符,以在跟踪日志中表示此请求。

Activity.Current性质:获取或设置当前线程的当前操作(活动)。

变量traceId = Activity.Current?.Id?httpContext?.TraceIdentifier;

从源代码中,我们可以看到它将使用活动id作为首选,如果活动Id为null,它将使用httpContext?.TraceIdentifier,也可以使用此方法设置跟踪Id。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70828928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档