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.