[08]ASP.NET Core 中 launchsettings.json 啟動配置文件


ASP.NET Core launchsettings.json 啟動配置文件

本文作者:梁桐銘- 微軟最有價值專家(Microsoft MVP) 
文章會隨着版本進行更新,關注我獲取最新版本 
本文出自《從零開始學 ASP.NET Core 與 EntityFramework Core》目錄 
視頻課程效果更佳:跨平台開發實戰掌握 ASP.NET Core 與 EntityFramework Core 

ASP.NET Core launchsettings.json 文件

在本視頻中,我們將討論在 ASP.NET Core 項目中launchsettings.json文件的重要性。

launchsettings.json 文件

  • 您將在項目根文件夾的**“Properties”**文件夾中找到此文件。
  • 當我們從 Visual Studio 或使用.NET Core CLI 運行此 ASP.NET Core 項目時,將使用此文件中的設置。
  • 此文件僅用於本地開發環境。我們不需要把它發布到生產環境的 Asp.net Core 程序中。
  • 如果您希望您的 Asp.Net Core 應用程序在發布和部署應用程序時使用某些獨立的設置,請將它們存儲在 appsettings.json 文件中。我們通常將應用程序的配置信息存儲在此文件中,比如數據庫連接字符串。
  • 我們還可以使用不同環境的 appsettings.json 文件。例如,appsettings.Staging.json 用於臨時環境。在- ASP.NET Core 中,除了 appsettings.json 文件外,我們還可以配置源,如環境變量,用戶密鑰,命令行參數甚至創建屬於我們自己的自定義配置源。
  • 有關這些不同配置源的 appsettings.json 文件的更多用法,我們的下一個視頻會講。

ASP.NET Core 中的 Lanuch 配置文件

打開您的程序員,可以看到 launchSettings.json 文件中的設置 信息如下:

{ "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:3290", "sslPort": 0 } }, "profiles": { "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "StudentManagement": { "commandName": "Project", "launchBrowser": true, "applicationUrl": "http://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } } 
JSON

請注意,我們有兩個配置信息:

  • IIS Express 和 StudentManagement

當我們通過按CTRL + F5或只是F5從 Visual Studio 運行項目時。 默認情況下,使用調用配置文件名稱"commandName": "IISExpress",。 另外一種情況,如果我們使用.NET Core CLI(dotnet run)運行項目,則使用帶有"commandName": "Project",的配置文件 。

我們可以通過單擊 Visual Studio 中的下拉列表來更改要使用的配置文件中 .commandName 屬性,修改默認設置。 8 1

默認值可以是:

  • 項目
  • IISExpress
  • IIS

此值與項目文件中的AspNetCoreHostingModel元素的值會有對應關系,會一起指定要啟動的內部和外部 Web 服務器(反向代理服務器)。

commandName AspNetCoreHostingModel 的值 Internal Web Server(內部服務器) External Web Server(外部服務器)
項目 忽略托管設置的值 只使用一個 Web 服務器 - Kestrel 只使用一個 Web 服務器 - Kestrel
IISExpress 進程內托管(InProcess) 只使用一個 Web 服務器 - IIS Express 只使用一個 Web 服務器 - IIS Express
IISExpress 進程外托管(OutOfProcess) Kestrel IIS Express
IIS 進程內托管(InProcess) 只使用一個 Web 服務器 - IIS 只使用一個 Web 服務器 - IIS
IIS 進程外托管(OutOfProcess) Kestrel IIS

您還可以通過直接編輯 launchSettings.json 文件中的設置,也可以使用 Visual Studio 提供的圖形用戶界面(GUI)更改設置。

通過 GUI 來設置

  • 在 Visual Studio 的解決方案資源管理器中右鍵單擊項目名稱,然后從上下文菜單中選擇“屬性”。 單擊項目“屬性”窗口中的“調試”選項卡,如下圖

8 2

使用 GUI 我們可以更改launchSettings.json文件中的設置。

注意,環境變量“ASPNETCORE_ENVIRONMENT”設置的默認設置為“Development”。

我們可以將此值更改為Staging或Production,具體取決於我們是在Staging還是Production環境中運行此項目。

我們還可以添加新的環境變量。這些環境變量在我們的 Asp.Net Core 應用程序中都可用,我們可以包含根據這些環境變量的值有條件地執行的代碼。

例如,請參考Startup.cs文件中的Configure()方法中的以下代碼

public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } //其他的代碼 } 
C#

僅當環境為“ Development”時,才會顯示“ 開發異常頁面”。

我們將在即將發布的視頻中詳細討論環境變量和開發人員異常頁面。

文章說明

如果您覺得我的文章質量還不錯,歡迎打賞,也可以訂閱我的視頻哦 
未得到授權不得擅自轉載本文內容,52abp.com 保留版權 

感謝您對我的支持


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM