Teilen über


Migrieren der Konfiguration zu ASP.NET Core

Im vorherigen Artikel haben wir begonnen, ein ASP.NET MVC-Projekt zu ASP.NET Core MVC zu migrieren. In diesem Artikel migrieren wir die Konfiguration.

Anzeigen oder Herunterladen von Beispielcode (Anleitung zum Herunterladen)

Setupkonfiguration

ASP.NET Core verwendet nicht mehr die Dateien "Global.asax " und web.config , die in früheren Versionen von ASP.NET verwendet wurden. In den früheren Versionen von ASP.NET wurde die Anwendungsstartlogik in eine Application_StartUp Methode in "Global.asax" eingefügt. Später wurde in ASP.NET MVC eine Startup.cs Datei im Stammverzeichnis des Projekts enthalten, und sie wurde aufgerufen, als die Anwendung gestartet wurde. ASP.NET Core hat diesen Ansatz vollständig übernommen, indem alle Startlogik in die Datei platziert wird Startup.cs .

Die web.config Datei wurde auch in ASP.NET Core ersetzt. Die Konfiguration selbst kann jetzt konfiguriert werden, im Rahmen des Verfahrens zum Starten der Anwendung, das in Startup.cs beschrieben wird. Die Konfiguration kann weiterhin XML-Dateien verwenden, aber in der Regel legen ASP.NET Core-Projekte Konfigurationswerte in einer JSON-formatierten Datei wie appsettings.json ab. ASP.NET Core-Konfigurationssystem kann auch problemlos auf Umgebungsvariablen zugreifen, die einen sichereren und robusteren Standort für umgebungsspezifische Werte bieten können. Dies gilt insbesondere für geheime Schlüssel wie Verbindungszeichenfolgen und API-Schlüssel, die nicht in die Quellcodeverwaltung eingecheckt werden sollten. Weitere Informationen zur Konfiguration finden Sie unter "Konfiguration " in ASP.NET Core.

Warning

In diesem Artikel wird eine lokale Datenbank verwendet, für die keine Authentifizierung des Benutzers erforderlich ist. Produktions-Apps sollten den sichersten verfügbaren Ablauf für die Authentifizierung verwenden. Weitere Informationen zur Authentifizierung für bereitgestellte Test- und Produktions-Apps finden Sie unter Sichere Authentifizierungsflows.

Um die Konfiguration einzurichten, fügen Sie dem Startup.cs-Datei, die sich im Stammverzeichnis des Projekts befindet, den folgenden Konstruktor und die folgende Eigenschaft hinzu:

public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}

public IConfiguration Configuration { get; }

Beachten Sie, dass die Startup.cs Datei zu diesem Zeitpunkt nicht kompiliert wird, da weiterhin die folgende using Anweisung hinzugefügt werden muss:

using Microsoft.Extensions.Configuration;

Fügen Sie dem Stammverzeichnis des Projekts eine appsettings.json Datei mithilfe der entsprechenden Elementvorlage hinzu:

Hinzufügen von AppSettings JSON

Migrieren von Konfigurationseinstellungen von web.config

Unser ASP.NET MVC-Projekt enthielt die erforderliche Datenbankverbindungszeichenfolge in web.config, im <connectionStrings> Element. In unserem ASP.NET Core-Projekt werden diese Informationen in der appsettings.json Datei gespeichert. Öffnen Sie appsettings.json, und beachten Sie, dass sie bereits Folgendes enthält:

{
    "Data": {
        "DefaultConnection": {
            "ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=_CHANGE_ME;Trusted_Connection=True;"
        }
    }
}

Ändern Sie in der oben dargestellten hervorgehobenen Zeile den Namen der Datenbank von _CHANGE_ME in Ihren Datenbanknamen.

Summary

ASP.NET Core platziert alle Startlogik für die Anwendung in einer einzigen Datei, in der die erforderlichen Dienste und Abhängigkeiten definiert und konfiguriert werden können. Sie ersetzt die web.config Datei durch ein flexibles Konfigurationsfeature, das eine Vielzahl von Dateiformaten wie JSON sowie Umgebungsvariablen nutzen kann.