【发布时间】:2019-02-12 17:22:02
【问题描述】:
我和我的团队已经解决这个问题几天了,我们无法确定 GetCorrelationId() 有时返回重复 GUID 的根本原因。
在我现在工作的应用程序中,我们使用关联 ID 来绑定请求路径。
例如,UI 向 .NET 中的 API 发送保存请求。当API从控制器调用查询服务中的save方法时,会将Request.GetCorrelationId()的结果传递给方法调用。
查询服务中的save方法使用该参数在audit_logs表中插入一个新行,包含请求信息。
save 方法然后在属于主对象的嵌套对象上调用其他保存方法,并传递控制器中生成的相关 ID。
类似的东西
[ Controller ]
var correlation_id = HttpRequestMessage.GetCorrelationId();
{
ParentObject.save(correlation_id) -> {
ChildObject1.save(correlation_id),
ChildObject2.save(correlation_id),
}
}
我的问题是。这是 GetCorrelationId 如何创建 GUID 对象的问题还是框架的配置有问题?
框架是.NET Framework 4.6.1 我们在 IIS Express 和 IIS 服务器中看到了这个问题
我无法分享代码,但我会尽我所能分享解决此问题所需的尽可能多的信息。
这是重复 GUID 的一些示例
谢谢
【问题讨论】:
标签: c# asp.net-mvc logging audit-trail