Sie können diese Informationen nicht in einem Mitglied des Dienstes speichern, da Sie keine Kontrolle darüber haben, wie gleichzeitige Aufrufe asynchron für mehrere Threads ausgeführt werden. Die Art und Weise, wie die Laufzeit es Tasks und asynchronen Methoden ermöglicht, zwischen diesen zu "springen" bedeutet, dass ThreadStorage keine sichere Methode ist, diesen Kontext beizubehalten.
Was Sie brauchen, ist etwas, das den ganzen Weg von Ihrem ServiceRemotingDispatcher bis zur Ausführung Ihrer tatsächlichen Service-Methoden tragen kann und nicht durch gleichzeitige Aufrufe (möglicherweise die gleiche Methode) betroffen ist. Die Art und Weise, wie die zugrunde liegende Service-Fabric-Implementierung Ihre Methode ausführt, bedeutet, dass mehrere Tasks und asynchrone Methoden aufgerufen werden. Dies bedeutet auch, dass die Thread-ID einfach nicht als Option in Frage kommt, da ein Sprung fast garantiert ist Threads mindestens einmal, bevor Sie Ihren Code erreichen.
Ich schrieb this answer zu einer ähnlichen Frage (die gelöscht wurde, so fügte ich diese q selbst zurück). Es löst im Grunde Ihre Frage und es basiert auf CallContext als mentioned by @LoekD
Das ist genau das, was ich gesucht habe. Vielen Dank! – Per