如何使用MVC 6获取请求的correlationID?

我想在记录消息时使用它,以便可以通过系统跟踪请求。

在以前的版本中,我将使用HttpRequestMessageExtensions.GetCorrelationId方法:
https://msdn.microsoft.com/en-us/library/system.net.http.httprequestmessageextensions.getcorrelationid%28v=vs.118%29.aspx

最佳答案

在最新版本中,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;
}

关于c# - MVC 6中的CorrelationID在哪里,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33254346/

10-17 02:32