21 Stimmen

Beste Möglichkeit, Konfigurationseinstellungen innerhalb meiner asp.net mvc Anwendung zu speichern

Ich arbeite an einer asp.net mvc Webanwendung, die einige API-Aufrufe an andere Webanwendungen durchführt. Aber derzeit speichere ich den API-Benutzernamen, das API-Passwort und die API-URL in meinem Code. Wie folgt:-

using (var client = new WebClient())
                {
                    //  client.Headers[HttpRequestHeader.Accept] = "AddAsset";
                    var query = HttpUtility.ParseQueryString(string.Empty);
                    foreach (string key in formValues)
                    {
                        query[key] = this.Request.Form[key];
                    }

                    query["username"] = "testuser";
                    query["password"] = "……";
                    query["assetType"] = "Rack";
                    query["operation"] = "AddAsset";
var url = new UriBuilder("http://win-spdev:8400/servlets/AssetServlet");
                    url.Query = query.ToString();
                    try
                    {

Aber diese Einstellungen in meinem Code zu speichern, wird nicht flexibel sein, falls ich die API-Aufrufe-Einstellungen ändern muss, und es ist nicht sicher. Also, was ist der beste Weg, um diese Einstellungen zu speichern. Ich dachte daran, zwei Datenbanktabellen zu erstellen, eine zum Speichern der URL (und es könnten in Zukunft mehrere URLs geben). Und eine andere Tabelle, um den Benutzernamen und das Passwort zu speichern. Ist das Erstellen von Datenbanktabellen der richtige Weg, um diese Einstellungen zu speichern.

40voto

Meryovi Punkte 5954

2022 UPDATE: Jetzt in .NET Core sollten Sie die neue Konfigurations-API verwenden (appSettings.json oder andere Anbieter / IConfiguration-Klasse, die in Ihre Klassen/Controller injiziert wird), aber die gleichen Prinzipien gelten. Lesen Sie mehr über die Konfiguration in .NET Core hier.


Sie sollten die Web.Config-Datei (Konfigurations-API) verwenden, um diese Einstellungen zu speichern. So können Sie Einstellungen aktualisieren, ohne Ihre gesamte Anwendung jedes Mal neu kompilieren zu müssen. Das ist der Standardweg, um Einstellungen in einer Web (MVC oder WebForms)-Anwendung zu speichern, und es ermöglicht Ihnen, sensible Einstellungen transparent zu verschlüsseln.

Sie können auf gespeicherte Einstellungen mit der WebConfigurationManager-Klasse zugreifen. Hier finden Sie einige Beispiele, wie Sie es verwenden können.

Codebeispiel:

Web.config appSettings:

C#-Code:

string userName = System.Web.Configuration.WebConfigurationManager.AppSettings["ApiUserName"];

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