Über AContext.Bindigs.Peerip stelle ich fest, wer gerade ne Anfrage stellt. Kommt ne neue rein der verwirft er die
IP und fängt mit der neuen
Ip von vorn an.
Jeder Client (genauer: jede Connection) bekommt einen separaten Context. Es ist also durchaus möglich, daß Execute mit verschiedenen Instanzen von AContext parallel (in separaten Threads) aufgerufen wird. Das heißt aber nicht, daß die Execute-Methoden nicht alle auch abgearbeitet werden.
Wie schon gesagt, muss man sich dieses Sachverhalts nur gewahr sein und Execute eben threadsicher programmieren.
Zur Kontrolle könntest du ja mal am Anfang und am Ende von Execute entsprechende Log-Meldungen ausgeben - mit einem threadsicheren Logger natürlich.
Oder die Poor-Programmer Lösung: InterlockedIncrement/Decrement auf eine globale (mit 0 initialisierte) Variable und am Ende schauen, ob die wieder 0 ist.