ASP.NET Core launchsettings.json 文件

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"
      }
    }
  }
}

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

  • 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();
            }

          //其他的代碼

        }

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


歡迎添加個人微信號:Like若所思。

歡迎關注我的公衆號,不僅爲你推薦最新的博文,還有更多驚喜和資源在等着你!一起學習共同進步!


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章