2017-01-05 7 views
0

Ich habe eine ziemlich standardmäßige Out-of-the-Box-MVC-Anwendung, die ich erstelle. Die Idee ist, dass sich bestimmte Aspekte seines Verhaltens abhängig von einer bestimmten Liste von Ja/Nein-Parametern ändern (bestimmte Ansichten werden angezeigt oder nicht).Verwenden einer Konfigurationsdatei in MVC

Da meine Erfahrung hauptsächlich mit WinForms ist, war mein erster Gedanke, eine XML-Datei zu erstellen, die beim Start serialisiert werden würde. Ist dies eine gültige und intuitive Art, mit einem MVC-Projekt zu interagieren, oder gibt es einen besseren Weg dazu? Und wenn dies in Ordnung ist, ist es genauso/ähnlich wie bei einem WinForms-Projekt?

+1

Das ist wirklich Meinung basiert und keine geeignete Frage für Stack-Überlauf. Finden Sie heraus, was für Sie und Ihre Anwendung am besten funktioniert. – mason

+0

Je nach Komplexität der Konfiguration finde ich JSON einfacher zu lesen und zu "konfigurieren". Auch hier kommt es auf Ihre Konfiguration an. – mxmissile

+0

Es hängt davon ab, wie oft sich diese Parameter ändern und wer sie ändern kann/sollte. Sie könnten ein Model verwenden und den Konstruktor wie gewünscht auf Ja/Nein setzen und dies später mit Logik aus anderen Quellen (Datenbank, Administrationsseiten, usw.) überschreiben ... –

Antwort

3

Projekte mithilfe von integrierten konfigurieren), die das Framework für die Anwendung konfigurieren und zusätzliche Benutzerkonfigurationen ermöglichen, auf die während der Laufzeit programmgesteuert zugegriffen werden kann.

Wenn Ihre Konfiguration trivial ist, könnten Sie <appSettings /> dies sind grundlegende Schlüsselwertpaar Strings in der Datei gespeichert verwenden und kann wie eingestellt werden:

<appSettings> 
    <add key="foo" value="bar" /> 
</appSettings> 

... und zugänglich wie:

string value = ConfigurationManager.AppSettings["foo"]; // returns bar 

Sie könnten alle Phantasie und erstellen Sie Ihre eigenen benutzerdefinierten Konfigurationsabschnitt in der Konfigurationsdatei, aber das ist viel mehr beteiligt.

Siehe unten für einige Ressourcen:

+0

Das schaut nah dran was mich interessiert!Ich muss im Grunde nur eine Liste von booleschen Werten erstellen (für den Moment - es kann später auf weitere Elemente erweitert werden), auf die ich im Programm zugreifen kann, wie @if (useView1) {// zeigt die Ansicht an}, wo useView1 wäre der Parameter aus der Datei –

-1

in asp.net MVC Sie die Route verwenden können und URL verwenden .Net wird in der Regel eine web.config Datei (xml Anwendungsverhalten lesen Sie diese routing in Asp.net und diese von asp.net Website Routing

+0

Ich verstehe Ihre Absage nicht.von seinem Problem Die Verwendung des Routings ist auf lange Sicht die beste Lösung, wenn Sie web.config nicht verwenden. Und was ist das Problem, das richtige Weg, es in ASP.net Route zu tun, weil in Web.Config in asp.net Kern – NinjaDeveloper

+0

veraltet ist Ich bin nicht verantwortlich für die down-Abstimmung, aber es könnte möglich sein, dass das OP doesn Ich möchte nicht, dass diese Optionen vom Benutzer gesteuert werden, dh "bestimmte Ansichten werden angezeigt oder nicht". Aber wenn ja, Routing- und Routenparameter sind eine praktikable Option. –

1

Erstellen Sie einen Eintrag in <appSettings></appSettings> Ihrer Web.config. Beispiel: <add key="FeatureEnabled" value="true" />

Dann greifen sie durch System.Configuration.ConfigurationManager wie so var isFeatureEnabled = bool.Parse(ConfigurationManager.AppSettings["FeatureEnabled"]);

Verwandte Themen