Frage

Ich brauche eine statische Eigenschaft auf einem Objekt in unserer Web-Anwendung zu ändern. Die Eigenschaft hat einen Standardwert, der hart codiert in das Objekt ist. Wenn ich die statische Eigenschaft in meinem Application_Start macht diese Änderung Stick ändern:

A) immer (na ja, bis die App wird recycelt)

B), bis das Objekt GC'd wird dann durch die nächste Accessor wieder inialised

C) Abhängig

Beachten Sie, dass die Eigenschaft I Einstellung würde ist nur ein String

War es hilfreich?

Lösung

Der Umfang einer statischen Variablen ist die AppDomain. Also nein, es wird nicht Müll gesammelt bekommen -. Aber wenn die AppDomain zurückgeführt wird (das einen fairen Betrag in ASP.NET passieren kann), dann werden Sie mit einer „neuen“ statischen Variablen am Ende, effektiv

Andere Tipps

Nach meiner Erfahrung mit unseren Web-Anwendungen hier die Antwort A. Soweit ich weiß, ist eine statische Klasse wird nie GCed sein, sie lebt für das Leben des Prozesses (in diesem Fall der ASP.NET-Arbeits Verfahren)

Gehen Sie für A) App Instanz Variable

Für Kontextspeicher siehe Httpcontext.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top