Megosztás a következőn keresztül:


Konfiguráció áttelepítése ASP.NET Core-ba

Az előző cikkben elkezdtünk migrálni egy ASP.NET MVC-projektet ASP.NET Core MVC-be. Ebben a cikkben migráljuk a konfigurációt.

Mintakód megtekintése vagy letöltése (hogyan töltsd le)

Konfiguráció beállítása

ASP.NET Core már nem használja a Global.asax és web.config fájlokat, amelyeket a ASP.NET korábbi verziói használtak. A ASP.NET korábbi verzióiban az alkalmazásindítási logika a Application_StartUp metódusban lett elhelyezve. Később ASP.NET MVC-ben egy Startup.cs fájl is bekerült a projekt gyökerébe, és az alkalmazás indításakor hívták meg. ASP.NET Core teljesen elfogadta ezt a megközelítést úgy, hogy az összes indítási logikát a Startup.cs fájlba helyezi.

A web.config fájl ASP.NET Core-ban is lecserélődött. Maga a konfiguráció most már konfigurálható az alkalmazás indítási eljárásának részeként, amelyet a című szakaszban ismertetünk Startup.cs. A konfiguráció továbbra is használhat XML-fájlokat, de általában ASP.NET alapprojektek egy JSON-formátumú fájlban helyezik el a konfigurációs értékeket, például appsettings.json. ASP.NET Core konfigurációs rendszere is könnyen hozzáférhet a környezeti változókhoz, ami biztonságosabb és robusztusabb helyet biztosíthat a környezetspecifikus értékek számára. Ez különösen igaz olyan titkos kódokra, mint a kapcsolati sztringek és az API-kulcsok, amelyeket nem szabad ellenőrizni a forrásvezérlőben. A ASP.NET Core konfigurációjáról további információt a Konfiguráció című témakörben talál.

Warning

Ez a cikk egy helyi adatbázist használ, amely nem igényli a felhasználó hitelesítését. A termelésben használt alkalmazásoknak az elérhető legbiztonságosabb hitelesítési folyamatot kell használniuk. Az üzembe helyezett teszt- és éles alkalmazások hitelesítéséről további információt Biztonságos hitelesítési folyamatokcímű témakörben talál.

A konfiguráció beállításához adja hozzá a következő konstruktort és tulajdonságot a Startup.cs projekt gyökerében található fájlhoz:

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

public IConfiguration Configuration { get; }

Fontos megjegyezni, hogy ezen a ponton a Startup.cs fájl nem fog lefordulni, mivel továbbra is hozzá kell adnunk a következő using utasítást:

using Microsoft.Extensions.Configuration;

Adjon hozzá egy appsettings.json fájlt a projekt gyökeréhez a megfelelő elemsablon használatával:

AppSettings JSON hozzáadása

Konfigurációs beállítások áttelepítése web.config

A ASP.NET MVC-projekt tartalmazza a szükséges adatbázis-kapcsolati sztringet aweb.configelemben <connectionStrings> . A ASP.NET Core-projektben ezt az információt a appsettings.json fájlban fogjuk tárolni. Nyissa meg appsettings.json, és vegye figyelembe, hogy már tartalmazza a következőket:

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

A fent látható kiemelt sorban módosítsa az adatbázis nevét _CHANGE_ME helyett az adatbázis nevére.

Summary

ASP.NET Core egyetlen fájlba helyezi az alkalmazás összes indítási logikáját, amelyben a szükséges szolgáltatások és függőségek definiálhatók és konfigurálhatók. A web.config fájlt egy rugalmas konfigurációs funkcióra cseréli, amely számos fájlformátumot, például JSON-t és környezeti változót használhat.