Ich habe gerade dieses Thema erforscht. Und es stimmt, dass die Konfigurationseinstellungen im Speicher zwischengespeichert werden.
Sie können jedoch immer noch einen Leistungsvorteil sehen, indem Sie die Werte in statischen Variablen speichern, wie Sie erwähnen (und wie beschrieben here). Dies ist, weil die AppSettings Sammlung eine NameValueCollection
ist. Jedes Mal, wenn Sie eine AppSetting referenzieren, muss sie die Sammlung durchsuchen, die eine O (n) -Operation ist.
Obwohl dies wahrscheinlich eine seltene Sache ist, dass dies jemals ein Flaschenhals Ihrer Anwendung sein würde. Aber man könnte sich ein Szenario mit einer engen Schleife vorstellen, die auf einen einzelnen Wert in AppSettings verweist, wo die AppSettings-Sammlung sehr groß ist. In diesem Fall können Sie den Wert auch in irgendeiner Weise zwischenspeichern, auch wenn er einfach in einer lokalen Variablen gespeichert wird, bevor Sie die Schleife starten.
+1 hier ist ein Link zur Dokumentation. [Diese Member führen schreibgeschützte Operationen aus, verwenden eine einzelne zwischengespeicherte Instanz der Konfiguration und sind Multithread-fähig.] (Http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.aspx#remarksToggle) – Craig