bietet aspx eine spezielle Behandlung für statische c # -Variablen

In einer .NET-Webanwendung haben ASPX-Seiten und der C # -Code hinter Seiten etwas Besonderes, das das Verhalten statischer Variablen ändert.

Ich habe eine große Anzahl von Anwendungsseiten, die an anderer Stelle entwickelt wurden, und es gibt ein gemeinsames Muster, in dem das, was ich für eine Instanzvariable halte, als statische Variable deklariert wird.

Eine ausführlichere Erklärung der Frage wäre: Wenn zwei Websitzungen a und b auf demselben iis-Server im selben Anwendungspool ausgeführt werden, greift a auf die betreffende Seite zu und setzt die statische Variable x auf value1 und dann greift b auf die Dieselbe Seite und setzt die statische Variable x auf den Wert 2. Mein Verständnis ist, dass der Wert 1 durch den Wert 2 ersetzt wurde. Mein Dilemma ist, dass dieses Muster im Code wiederholt verwendet wird. Auf einer höheren Ebene scheint der Code zu funktionieren. Die Schlussfolgerung ist, dass es entweder Glück ist (Timing wie in Sitzung a hat die Notwendigkeit für die Variable aufgegeben, bevor Sitzung b darauf trifft) oder dass etwas anderes los ist.

Ich bin offen für Vorschläge, ob dies ein Zufall oder ein Entwickler-Bug ist.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage