Dela via


Migrera konfigurationen till ASP.NET Core

I föregående artikel började vi migrera ett ASP.NET MVC-projekt till ASP.NET Core MVC. I den här artikeln migrerar vi konfigurationen.

Visa eller ladda ned exempelkod (hur du laddar ned)

Konfiguration av konfiguration

ASP.NET Core använder inte längre de Global.asax - och web.config-filer som tidigare versioner av ASP.NET använt. I de tidigare versionerna av ASP.NET placerades programstartlogik i en Application_StartUp metod i Global.asax. Senare, i ASP.NET MVC, inkluderades en Startup.cs fil i projektets rot och anropades när programmet startade. ASP.NET Core har antagit den här metoden helt genom att placera all startlogik i Startup.cs filen.

Filen web.config har också ersatts i ASP.NET Core. Konfigurationen kan nu konfigureras som en del av startproceduren för programmet som beskrivs i Startup.cs. Konfigurationen kan fortfarande använda XML-filer, men vanligtvis ASP.NET Core-projekt placerar konfigurationsvärden i en JSON-formaterad fil, till exempel appsettings.json. ASP.NET Cores konfigurationssystem kan också enkelt komma åt miljövariabler, vilket kan ge en säkrare och stabilare plats för miljöspecifika värden. Detta gäller särskilt för hemligheter som anslutningssträngar och API-nycklar som inte ska checkas in i källkontrollen. Mer information om konfiguration i ASP.NET Core finns i Konfiguration .

Warning

Den här artikeln använder en lokal databas som inte kräver att användaren autentiseras. Produktionsappar bör använda det säkraste tillgängliga autentiseringsflödet. Mer information om autentisering för distribuerade test- och produktionsappar finns i Säkra autentiseringsflöden.

Du konfigurerar inställningarna genom att lägga till följande konstruktor och egenskap i Startup.cs filen som finns i projektets rot:

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

public IConfiguration Configuration { get; }

Observera att filen Startup.cs inte kommer att kompilera i det här läget eftersom vi fortfarande behöver lägga till följande using sats:

using Microsoft.Extensions.Configuration;

Lägg till en appsettings.json fil i projektets rot med hjälp av lämplig objektmall:

Lägg till AppSettings JSON

Migrera konfigurationsinställningar från web.config

Vårt ASP.NET MVC-projekt inkluderade den nödvändiga databasanslutningssträngen i web.configi elementet <connectionStrings> . I vårt ASP.NET Core-projekt ska vi lagra den här informationen i appsettings.json filen. Öppna appsettings.jsonoch observera att det redan innehåller följande:

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

På den markerade raden som visas ovan ändrar du namnet på databasen från _CHANGE_ME till namnet på databasen.

Summary

ASP.NET Core placerar all startlogik för programmet i en enda fil, där nödvändiga tjänster och beroenden kan definieras och konfigureras. Den ersätter web.config-filen med en flexibel konfigurationsfunktion som kan utnyttja en mängd olika filformat, till exempel JSON, samt miljövariabler.