Asp.net-Web-Api

Blazor 項目的 app.config 解決方案是什麼?

  • June 13, 2019

什麼是 Blazor 應用的 app.config / web.config 解決方案。我幾乎可以肯定這對於 Blazor 伺服器端項目是可能的。但更深入地想知道如何為客戶端項目處理配置。

本質上,我需要知道應用程序在什麼樣的環境下執行(例如開發、測試、生產)。

Blazor 的配置故事是什麼?

它與ASP.NET core的配置相同。您基本上每個環境都有一個文件,並使用內置介面將您的設置綁定到 classes。由於此類設置以以下格式儲存:appsettings.environment.json``IConfiguration``json

{
 "Logging": {
   "IncludeScopes": false,
   "LogLevel": {
     "Default": "Debug",
     "System": "Information",
     "Microsoft": "Information"
   }
 },
 "Serilog": {
   "LevelSwitches": { "$controlSwitch": "Debug" },
   "MinimumLevel": { "ControlledBy": "$controlSwitch" },
   "WriteTo": [
...

有多少環境以及如何稱呼它們,取決於您。這是一個例子:

ASP.NET 核心應用設置範例

在執行時,環境會從OS 環境變數 ASPNETCORE_ENVIRONMENT的值中扣除。出於開發目的,您可以創建配置文件並設置ASPNETCORE_ENVIRONMENT如下launchSettings.json

"profiles": {
   "Development": {
     "commandName": "IISExpress",
     "launchBrowser": true,
     "environmentVariables": {
       "ASPNETCORE_ENVIRONMENT": "Development"
     }
   }
}

部署或開始執行應用程序後,將使用伺服器端和客戶端應用程序Blazor的主機。ASPNETCORE_ENVIRONMENT請記住,即使它是客戶端/SPA 應用程序,它仍然託管在伺服器上。同樣對於客戶端Blazor應用程序,appsettings不會傳遞給客戶端,您不希望向客戶端公開連接字元串和其他敏感設置,對嗎?

作為旁注,如果您Blazor在 IIS 中託管您的應用程序(作為反向代理),將創建一個web.config文件,用於指導 IIS 如何啟動應用程序、傳遞哪些參數以及其他一些事情。

引用自:https://stackoverflow.com/questions/56571834