Das ist nichts anderes als eine Race-Condition, diese kann auftreten wenn jemand seinen Browser startet und beim Start in 2 oder mehr Tabs das Forum geöffnet wird. Wenn nun beide Requests parallel verarbeitet werden bzw. nur Sekundenbruchteile zwischen ihnen liegen, kann das folgende Problem auftreten (das gibt es im übrigen auch bei Burning Board 3):
Tab 1 führt den Login durch
Tab 2 führt den Login durch
Tab 1 prüft, ob bereits eine Session existiert (Ergebnis: Nein)
Tab 2 prüft, ob bereits eine Session existiert (Ergebnis: Nein)
Tab 1 erzeugt eine neue Session
Tab 2 erzeugt eine neue Session
Ich habe für WCF 2.1 einen work-around eingebaut, der dazu führt das in diesem Falle Punkt 6 fehlschlägt und daraufhin die Prüfung erneut durchgeführt wird. Auf diese Weise können wir das Problem umgehen und es wird garantiert nur eine Session erzeugt (bzw. eine Session aber zwei virtuelle).