In una delle mie applicazioni server ho una classe che assomiglia,
class A
{
   static int _value = 0;
   void DoSomething()
   {
         // a request start here
          _value = 0;
         _value++;
         // a request end here
   }
   // This method can be called many time during request
   void SomeAsyncMethods()
   {
         _value++;
   }
}
Il problema è SomeAsyncMethods async. Può essere chiamato più volte. Cosa mi serve quando una richiesta avvia set _value = 0 e quindi incrementa in modo asincrono questo valore. Dopo la fine della richiesta ho bisogno del totale. Ma il problema è che un'altra richiesta allo stesso tempo può accedere alla classe.