MVC 6中的CorrelationID在哪里?

6
1个回答

5
在最新版本中,HttpContext 直接公开了一个 TraceIdentifier 属性,您可以将其用作关联标识符。这是一个链接:https://github.com/aspnet/HttpAbstractions/blob/dev/src/Microsoft.AspNetCore.Http.Abstractions/HttpContext.cs#L72
public void MvcAction() {
    var identifier = HttpContext.TraceIdentifier;
}

在旧版本中,您可能需要使用IHttpRequestIdentifierFeature功能来检索请求标识符:

public void MvcAction() {
    var feature = HttpContext.Features.Get<IHttpRequestIdentifierFeature>();
    var identifier = feature.TraceIdentifier;
}

你知道为什么我在beta8中无法让第一个选项工作吗? 当我查看HttpContext的定义时,它缺少TraceIdentifier属性。 - pac w
1
因为这个属性是最近添加的(确切地说是6天前:https://github.com/aspnet/HttpAbstractions/pull/440)。当然,它将成为RC1的一部分,但在此期间,您可以在夜间构建中找到它。 - Kévin Chalet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接