UPDATE: In ASP.NET Core - Land, Konfiguration wird nicht verwaltet mehr über einer dieser - sieht diese fantastische writeup von Travis Illig mit dem az auf Microsoft.Extension.Configuration
und Microsoft.Extensions.Configuration.Binder
welche effektiv ein Ober aller diesem
Einstellungen (sowohl aus einem .settings-Set als auch aus Configuration.AppSettings
) werden in der .config-Datei gespeichert [neben vielen anderen Dingen].
Der Unterschied besteht darin, dass das .settings-Material [das in .NET 2.0 / VS2005 hinzugefügt wurde] eine stark typisierte Klasse über eine Reihe von Einstellungen legt, die zusammengehören, während Sie Configuration.AppSettings
nur Zeichenfolgen abrufen können, um Konvertierungen zu erzwingen, und dies nicht tun habe den Begriff der Standardeinstellungen. (Die Konfigurationsklasse wurde tatsächlich in eine Seitenbaugruppe verschoben, um dies widerzuspiegeln. Sie müssen explizit einen Verweis auf System.Configuration hinzufügen, wenn Sie dies wünschen.)
Wenn Sie Ihrem Projekt eine .settings hinzufügen, wird eine app.config hinzugefügt, in der die Einstellungen gespeichert werden, falls Sie noch keine haben. Die Klasse, die die Einstellungen liest, wird jedes Mal automatisch generiert, wenn Sie die Liste der Einstellungen für Ihre Komponente / Anwendung ändern.
Weitere Funktionen von .Settings sind die Möglichkeit, einige Einstellungen als benutzerspezifisch festzulegen (und die benutzerspezifischen Einstellungen mit einem einzigen Aufruf zu speichern).
Der beste Grund für die Verwendung von .Settings ist im Allgemeinen, dass Sie anhand der Verwendung von Eigenschaften eindeutig erkennen können, wer welche Einstellung in einer Codebasis verwendet (und jeder Satz ist ein separater Block in der XML-Datei). Configuration.appSettings
ist von Natur aus globaler - es ist nur eine Tüte mit Eigenschaften und Sie wissen nicht, welche DLL, welches Subsystem oder welche Klasse von einem bestimmten Einstellungseintrag abhängt. Weitere Informationen finden Sie in diesem Blogbeitrag von Steven Smith .
Wenn Sie immer noch nicht genug über das Einstellungsmanagement gelesen haben, werden Sie diesen Beitrag von Rick Strahl zu diesem Thema nicht der Vollständigkeit halber oder in einer Vielzahl von Ideen und Blickwinkeln schlagen .
ASIDE: Es gibt auch das in diesem Artikel beschriebene ASP.NET vNext-Konfigurationsmaterial , das sehr flexibel ist und einen anderen Blickwinkel auf die Verwaltung von Konfigurationseinstellungen bietet.