Speichern der Konfigurationseinstellungen in web.config oder in der Datenbank

8

Was ist der beste Ort, um verschiedene Konfigurationseinstellungen eines Website-Moduls zu speichern?

Erstellen einer Klasse (die ConfigurationSection erbt), die die Einstellungen in der Datei web.config abbildet?
Oder erstellen Sie einige DAL- und BLL-Klassen, die mit der Datenbank arbeiten?

    
luppi 15.02.2010, 15:42
quelle

5 Antworten

7

Ich habe eine einfache Heuristik verwendet, um jede Konfigurationsvariable in eine von vier Kategorien zu kategorisieren:

  1. Kompilierzeitkonfiguration (Änderungen zusammen mit Codeänderungen) - wenn möglich dann innerhalb des Codes oder der Assembly (als eingebettete Ressource), andernfalls in web.config
  2. Serverinstanzspezifische Konfiguration (SQL-Verbindungszeichenfolgen, lokale Dateipfade) - in web.config
  3. Anwendung (Datenbank) -Konfiguration (Feature-Auswahl und andere globale Anwendungseinstellungen, die selten geändert werden, wenn überhaupt) - in Datenbank, aber ohne UI
  4. Anwendungskonfiguration - in der Datenbank, auf die über eine Admin-Benutzeroberfläche zugegriffen werden kann
Pent Ploompuu 15.02.2010, 16:03
quelle
5

Wenn Sie die Konfigurationseinstellungen in der Datei "Web.config" speichern, wird die Anwendung "web.config" nach dem Ändern der Anwendung neu gestartet und die neuen Einstellungen werden sofort wirksam. Wenn Sie die Anwendung auf mehreren Computern ausführen, müssen Sie jedoch jede Maschine aktualisieren.

Wenn Sie die Konfigurationseinstellungen in der Datenbank speichern, müssen Sie entweder Ihre Webanwendung manuell neu starten oder über eine Funktion (z. B. eine Admin-Seite / Site) verfügen, damit die Anwendung die Einstellungen erneut lesen kann.

>     
Rudi 15.02.2010 15:50
quelle
3

Um die Frage tatsächlich zu beantworten:

Grundlegende Informationen müssen lokal in web.config gespeichert werden (Verbindungszeichenfolgen usw.)

Darüber hinaus könnten andere Informationen in jedem Ort gespeichert werden.

Wenn es in der Datenbank vorhanden ist, bedeutet das, dass es einfacher ist, Admin-Seiten zu schreiben, um die Informationen zu steuern, als die Datei web.config direkt zu bearbeiten.

Wie oft ändern sich die Dinge? Wenn das Einrichten eine einmalige Sache ist, dann wäre es zu viel Aufwand, Admin-Seiten zu haben, aber wenn es laufende Änderungen gibt (Hinzufügen neuer Benutzer, Kategorien usw.), dann könnten sie eine gute Idee sein.

Auch mit Daten in der Datenbank können Sie Remote-Verwaltung auf dem System durchführen

Also, ohne weitere Informationen über Ihre Anwendung kann ich keine Empfehlung abgeben.

    
ChrisF 15.02.2010 15:44
quelle
0

In den meisten Fällen haben Sie separate Einstellungen für jedes Modul auf jeder Seite. Daher müssen Sie sie in der Datenbank speichern.

    
Mehdi Golchin 15.02.2010 15:48
quelle
0

Erstellen Sie einen Konfigurationsabschnitt. Es ist ziemlich geradlinig und entspricht Ihren Bedürfnissen.

    
Sky Sanders 15.02.2010 15:50
quelle

Tags und Links