共用方式為


將組態遷移至 ASP.NET Core

在上一篇文章中,我們開始 將 ASP.NET MVC 專案移轉至 ASP.NET Core MVC。 在本文中,我們會移轉組態。

檢視或下載範例程式代碼如何下載

設定組態

ASP.NET Core 不再使用舊版 ASP.NET 使用的 Global.asaxweb.config 檔案。 在舊版的 ASP.NET 中,應用程式啟動邏輯會放在 Application_StartUpGlobal.asax 內的方法中。 稍後,在 ASP.NET MVC中, Startup.cs 檔案已包含在專案的根目錄中,並在應用程式啟動時呼叫。 ASP.NET Core 完全採用此方法,方法是將所有啟動邏輯放在 檔案中 Startup.cs

web.config 檔案也已取代在 ASP.NET Core 中。 設定本身現在可以設定,做為 中所述 Startup.cs之應用程式啟動程式的一部分。 組態仍然可以使用 XML 檔案,但通常 ASP.NET Core 專案會將組態值放在 JSON 格式的檔案中,例如 appsettings.json。 ASP.NET Core 的組態系統也可以輕鬆存取環境變數,為環境特定值提供 更安全且健全的位置 。 對於不應該提交到原始檔控制的連接字串和 API 金鑰等秘密,這尤其如此。 請參閱 設定 以深入瞭解 ASP.NET Core 中的設定。

警告

本文使用本機資料庫,其不需要使用者進行驗證。 實際執行應用程式應該使用可用的最安全驗證流程。 如需已部署測試與實際執行應用程式驗證的詳細資訊,請參閱安全驗證流程

若要設定組態,請將下列建構函式和 屬性新增至 Startup.cs 位於專案根目錄中的檔案:

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

public IConfiguration Configuration { get; }

請注意, Startup.cs 此時檔案不會編譯,因為我們仍然需要新增下列 using 語句:

using Microsoft.Extensions.Configuration;

appsettings.json使用適當的項目範本,將檔案新增至專案的根目錄:

新增 AppSettings JSON

從 web.config 移轉組態設定

我們的 ASP.NET MVC 專案在 元素中包含 web.config<connectionStrings> 中所需的資料庫連接字串。 在我們的 ASP.NET Core 專案中,我們會將此資訊儲存在 檔案中 appsettings.json 。 開啟 appsettings.json,並請注意它已經包含下列內容:

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

在上面描述的反白顯示列中,將資料庫的名稱從 _CHANGE_ME 變更為資料庫的名稱。

總結

ASP.NET Core 會將應用程式的所有啟動邏輯放在單一檔案中,其中可以定義和設定必要的服務和相依性。 它會以彈性的組態功能取代 web.config 檔案,以利用各種檔格式,例如 JSON 以及環境變數。