2009-03-27 9 views
1

Ich habe eine Hilfsklasse definiert, um ein kleines Wörterbuch mit Elementen zu verwalten. Sie speichert diese Informationen als statische Eigenschaft, die im statischen Konstruktor initialisiert wird. die Liste ist sehr klein und wird sich nie ändern, also wählte ich diese Methode über XML oder eine db-Lookup-Tabelle ...Wie wird die Lebensdauer einer statischen Klasse in einer statuslosen asp.net-Anwendung beeinflusst?

aber was ich gerne wissen würde, ist diese statische Eigenschaft behält ihre Werte zwischen den Seiten oder sogar innerhalb Seiten, wenn ASP.net soll staatenlos sein?

ich zum Beispiel auf zwei verschiedene Dropdownlists auf meiner Seite diese Liste bin Bindung

DropDownList1.DataSource = Helper.MyList; 
DropDownList2.DataSource = Helper.MyList; 

Da der statischen Klasse Helper heißt zwei getrennte Zeiten ist der Konstruktor auch zweimal genannt, oder sie in nicht bleiben Umfang über den gesamten Seitenlebenszyklus hinweg?

Wie sieht es aus, wenn ich zur nächsten Seite navigiere und erneut binden muss, wird sie noch initialisiert oder beginnt sie von vorne?

Antwort

1

Nein, der Typ wird nicht zweimal initialisiert. Die Klasse Helper muss nur dann neu initialisiert werden, wenn Sie das nächste Mal eine neue AppDomain erhalten - entweder, weil die Anwendung aktualisiert/neu gestartet wird oder aufgrund von AppDomain recycling.