歡迎光臨
每天分享高質量文章

ASP.NET Core launchsettings.json檔案(8)《從零開始學ASP.NET CORE MVC》:

 

本文出自《從零開始學ASP.NET CORE MVC》
推薦文章:ASP.NET Core 行程外(out-of-process)託管

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中的launchSettings檔案

開啟您的程式,可以看到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屬性,修改預設設定。

 

預設值可以是:

  • 專案
  • 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來設定

NEW

  • 在Visual Studio的解決方案資源管理器中右鍵單擊專案名稱,然後從背景關係選單中選擇“屬性”。
    單擊專案“屬性”視窗中的“除錯”選項卡,如下圖

    image.png

使用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”時,才會顯示“ 開發異常頁面”。

我們將在即將釋出的影片中詳細討論環境變數和開發人員異常頁面。

    已同步到看一看
    贊(0)

    分享創造快樂