Migrowanie konfiguracji do ASP.NET Core
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_StartUp
Global.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 pliku w formacie JSON, 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.
Ostrzeżenie
W tym artykule jest używana lokalna baza danych, która nie wymaga uwierzytelnienia użytkownika. Aplikacje produkcyjne powinny korzystać z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Aby uzyskać więcej informacji na temat uwierzytelniania dla wdrożonych aplikacji testowych i produkcyjnych, zobacz Bezpieczne przepływy uwierzytelniania.
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:
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.json
i 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 JSON, a także zmiennych środowiskowych.