Моя команда и я работаем над этой проблемой в течение нескольких дней, и мы не можем определить основную причину, почему GetCorrelationId () иногда возвращает GUID дубликатов.
В приложении, с которым я работаюпрямо сейчас мы используем идентификатор корреляции, чтобы связать путь запроса.
Например, пользовательский интерфейс отправляет запрос на сохранение в API в .NET.Когда API вызывает метод save из службы запросов из контроллера, он передает результат Request.GetCorrelationId()
в вызов метода.
Метод save в службе запросов использует этот параметр для вставки новой строки.в таблице aud_logs с информацией о запросе.
Затем метод save вызывает другие методы сохранения для вложенных объектов, принадлежащих основному объекту, передавая значение correlation_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
Спасибо