Udostępnij za pośrednictwem


Migrowanie konfiguracji do ASP.NET Core

Przez Steve Smith i Scott Addie

W poprzednim artykule zaczęliśmy migrować projekt MVC ASP.NET do ASP.NET Core MVC. W tym artykule przeprowadzimy migrację konfiguracji.

Wyświetl lub pobierz przykładowy kod (jak pobrać)

Konfiguracja instalacji

ASP.NET Core nie używa już plików Global.asax i web.config używanych w poprzednich wersjach ASP.NET. We wcześniejszych wersjach ASP.NET logika uruchamiania aplikacji została umieszczona w metodzie Application_StartUpGlobal.asax. Później w ASP.NET MVC Startup.cs plik został uwzględniony w katalogu głównym projektu i został wywołany podczas uruchamiania aplikacji. ASP.NET Core całkowicie przyjęła to podejście, umieszczając całą logikę uruchamiania Startup.cs w pliku.

Plik web.config został również zastąpiony w ASP.NET Core. Konfigurację można teraz skonfigurować w ramach procedury uruchamiania aplikacji opisanej w temacie Startup.cs. Konfiguracja może nadal korzystać z plików XML, ale zazwyczaj ASP.NET Core projekty umieszczają wartości konfiguracji w JSpliku sformatowanym w formacie ON, takim jak appsettings.json. system konfiguracji ASP.NET Core może również łatwo uzyskiwać dostęp do zmiennych środowiskowych, co może zapewnić bardziej bezpieczną i niezawodną lokalizację dla wartości specyficznych dla środowiska. Dotyczy to szczególnie wpisów tajnych, takich jak parametry połączenia i klucze interfejsu API, które nie powinny być zaewidencjonowane w kontroli źródła. Zobacz Konfiguracja , aby dowiedzieć się więcej o konfiguracji w programie ASP.NET Core.

W tym artykule rozpoczynamy od częściowo zmigrowanego projektu ASP.NET Core z poprzedniego artykułu. Aby skonfigurować konfigurację, dodaj następujący konstruktor i właściwość do Startup.cs pliku znajdującego się w katalogu głównym projektu:

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

public IConfiguration Configuration { get; }

Pamiętaj, Startup.cs że w tym momencie plik nie zostanie skompilowany, ponieważ nadal musimy dodać następującą using instrukcję:

using Microsoft.Extensions.Configuration;

appsettings.json Dodaj plik do katalogu głównego projektu przy użyciu odpowiedniego szablonu elementu:

Add AppSettings JSON

Migrowanie ustawień konfiguracji z pliku web.config

Nasz projekt MVC ASP.NET zawierał wymaganą bazę danych parametry połączenia w pliku web.config w elemecie <connectionStrings> . W naszym projekcie ASP.NET Core będziemy przechowywać te informacje w appsettings.json pliku. Otwórz plik appsettings.jsoni zwróć uwagę, że zawiera on już następujące elementy:

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

W wyróżnionym wierszu przedstawionym powyżej zmień nazwę bazy danych z _CHANGE_ME na nazwę bazy danych.

Podsumowanie

ASP.NET Core umieszcza całą logikę uruchamiania aplikacji w jednym pliku, w którym można zdefiniować i skonfigurować niezbędne usługi i zależności. Zastępuje plik web.config funkcją elastycznej konfiguracji, która może korzystać z różnych formatów plików, takich jak JSWŁ., a także zmiennych środowiskowych.