4 Stimmen

Wo AppSettings zu setzen, wenn brechen monothic asp.net Website in Bibliotheken?

Ich habe einige Business-Objekte, die verwenden:

Web.Configuration.WebConfigurationManager.AppSettings.Item("SomeSetting")

Nun, da ich diese Objekte in eine eigene Bibliothek aufspalte, fühlt es sich schmutzig an, eine Abhängigkeit von System.Web zu nehmen, wenn nichts anderes in der Bibliothek etwas mit Web zu tun hat.

Wie geht man dabei richtig vor?

UPDATE: Gefunden dieses Beispiel die Konfigurationsdateien für jede einzelne Baugruppe anzeigen. Ist das eine schlechte Idee?

2voto

Henk Punkte 694

Fügen Sie es in die web.config ein und rufen Sie ConfigurationManager.AppSettings["KEY"]

Sie brauchen system.web nicht in Ihren Bibliotheken.

2voto

Daniel Schaffer Punkte 54690

Wenn Sie eine Reihe von appSettings haben, bin ich auch ein Fan der Verwendung von benutzerdefinierten Konfigurationsabschnitte durch Vererbung von ConfigurationSection, ConfigurationElement, etc von System.Configuration. Dies gilt insbesondere, wenn diese Einstellungen eng mit einem bestimmten Bereich Ihres Codes verbunden sind.

Dadurch können Sie auf die Einstellungen als stark typisierte Eigenschaften zugreifen und haben mehr Kontrolle darüber, welche Einstellungen erforderlich sind, welche Werte für die einzelnen Einstellungen zulässig sind (Sie können Enums verwenden), und Sie können auch Sammlungen haben.

So geht's: Benutzerdefinierte Konfigurationsabschnitte mit ConfigurationSection erstellen

0voto

abatishchev Punkte 94886

Warum verwenden Sie nicht Web.config? Ich sah in MSDN erwähnen, dass es richtig analog zu app.config für Webanwendungen ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X