pac*_*c w 5 c# logging asp.net-core-mvc asp.net-core
如何使用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;
}
Run Code Online (Sandbox Code Playgroud)
在旧版本中,您可能必须使用该IHttpRequestIdentifierFeature
功能来检索请求标识符:
public void MvcAction() {
var feature = HttpContext.Features.Get<IHttpRequestIdentifierFeature>();
var identifier = feature.TraceIdentifier;
}
Run Code Online (Sandbox Code Playgroud)