Possiedo un server Web C# che ho utilizzato per la creazione di profili utilizzando il miniprofiler StackOverflow. Poiché non è un server ASP.NET, ma ogni richiesta è stata in genere eseguita sul proprio thread, ho truccato il miniprofiler per utilizzare lo storage ThreadStatic
per tenere traccia di tutti i profiler di una richiesta in arrivo dall'inizio alla fine. Questo ha funzionato bene.Passaggio di dati tra thread ThreadPool
Recentemente abbiamo convertito tutto per utilizzare async/await
, il che significa continuazioni dopo un await
in genere non tornano sulla stessa Thread
e quindi la memorizzazione ThreadStatic
non funziona più.
Qual è il modo migliore per passare alcuni piccoli dati tra diversi thread ThreadPool
in questo caso? Esistono implementazioni SynchronizationContext
che potrebbero essere utili per qualcosa di simile?
Quale versione del framework stai usando? –
Mi dispiace, avrei dovuto dirlo. Sto lavorando con 4.5. – Cuthbert