web-dev-qa-db-fra.com

Comment HttpContext TraceIdentifier est-il généré dans le noyau .net?

Comment est généré HttpContext TraceIdentifier, alias Correlation-Id?

Je demande une page via le contrôleur qui me donne le TraceId suivant: 0HLEACIU86PT6:0000000D

La page déclenche un appel ajax qui a le TraceId suivant: 0HLEACIU86PT7:00000005

comme vous pouvez le voir, ils sont très similaires. est-ce basé sur le temps?

Pourquoi n'ai-je pas obtenu le même TraceIdentifier?

Comment puis-je garantir le même TraceIdentifier?

12
DarthVader

Kestrel génère l'ID de demande comme {ConnectionId}: {numéro de demande}. L'identifiant de connexion est la version encodée en base32 d'un long utilisant l'alphabet 1-9 et A - V. Le nombre de requêtes est le nombre de requêtes sur cette connexion. La nième requête sur une connexion spécifique est {ConnectionId}: {n}

https://github.com/aspnet/KestrelHttpServer/blob/a48222378b8249a26b093b5b835001c7c7b45815/src/Kestrel.Core/Internal/Infrastructure/CorrelationIdGenerator.cs

https://github.com/aspnet/KestrelHttpServer/blob/0aff4a0440c2f393c0b98e9046a8e66e30a56cb0/src/Kestrel.Core/Internal/Http/Http1Connection.cs#L446

22
davidfowl
2
Konrad