Bagikan melalui


Memigrasikan konfigurasi ke ASP.NET Core

Dalam artikel sebelumnya, kami mulai memigrasikan proyek MVC ASP.NET ke ASP.NET Core MVC. Dalam artikel ini, kami memigrasikan konfigurasi.

Melihat atau mengunduh kode sampel (cara mengunduh)

Menyiapkan Konfigurasi

ASP.NET Core tidak lagi menggunakan file Global.asax dan web.config yang digunakan versi ASP.NET sebelumnya. Dalam versi ASP.NET sebelumnya, logika startup aplikasi ditempatkan dalam metode dalam Application_StartUp Global.asax. Kemudian, dalam ASP.NET MVC, Startup.cs file disertakan dalam akar proyek; dan, itu dipanggil ketika aplikasi dimulai. ASP.NET Core telah mengadopsi pendekatan ini sepenuhnya dengan menempatkan semua logika startup dalam Startup.cs file.

File web.config juga telah diganti di ASP.NET Core. Konfigurasi itu sendiri sekarang dapat dikonfigurasi, sebagai bagian dari prosedur startup aplikasi yang dijelaskan dalam Startup.cs. Konfigurasi masih dapat menggunakan file XML, tetapi biasanya proyek ASP.NET Core akan menempatkan nilai konfigurasi dalam file berformat JSON, seperti appsettings.json. sistem konfigurasi ASP.NET Core juga dapat dengan mudah mengakses variabel lingkungan, yang dapat menyediakan lokasi yang lebih aman dan kuat untuk nilai khusus lingkungan. Ini terutama berlaku untuk rahasia seperti string koneksi dan kunci API yang seharusnya tidak diperiksa ke kontrol sumber. Lihat Konfigurasi untuk mempelajari selengkapnya tentang konfigurasi di ASP.NET Core.

Peringatan

Artikel ini menggunakan database lokal yang tidak mengharuskan pengguna untuk diautentikasi. Aplikasi produksi harus menggunakan alur autentikasi paling aman yang tersedia. Untuk informasi selengkapnya tentang autentikasi untuk aplikasi pengujian dan produksi yang disebarkan, lihat Mengamankan alur autentikasi.

Untuk artikel ini, kami memulai dengan proyek ASP.NET Core yang dimigrasikan sebagian dari artikel sebelumnya. Untuk menyiapkan konfigurasi, tambahkan konstruktor dan properti berikut ke file yang Startup.cs terletak di akar proyek:

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

public IConfiguration Configuration { get; }

Perhatikan bahwa pada titik ini, Startup.cs file tidak akan dikompilasi, karena kita masih perlu menambahkan pernyataan berikut using :

using Microsoft.Extensions.Configuration;

appsettings.json Tambahkan file ke akar proyek menggunakan templat item yang sesuai:

Menambahkan AppSettings JSON

Memigrasikan pengaturan konfigurasi dari web.config

Proyek MVC ASP.NET kami menyertakan string koneksi database yang diperlukan dalam web.config, dalam <connectionStrings> elemen . Dalam proyek ASP.NET Core kami, kami akan menyimpan informasi ini dalam appsettings.json file. Buka appsettings.json, dan perhatikan bahwa itu sudah mencakup yang berikut ini:

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

Dalam baris yang disorot yang digambarkan di atas, ubah nama database dari _CHANGE_ME menjadi nama database Anda.

Ringkasan

ASP.NET Core menempatkan semua logika startup untuk aplikasi dalam satu file, di mana layanan dan dependensi yang diperlukan dapat ditentukan dan dikonfigurasi. Ini menggantikan file web.config dengan fitur konfigurasi fleksibel yang dapat memanfaatkan berbagai format file, seperti JSON, serta variabel lingkungan.