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

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)

    分享創造快樂