Blazor 项目的 app.config 解决方案是什么?

Alv*_*par 8 web-config asp.net-web-api asp.net-core blazor blazor-server-side

Blazor 应用程序的 app.config / web.config 解决方案是什么。我几乎可以肯定这对于 Blazor 服务器端项目是可能的。但更深入地想知道如何为客户端项目处理配置。

本质上,我需要知道应用程序在什么样的环境下运行(例如开发、测试、生产)。

Blazor 的配置故事是什么?

Rau*_*ian 7

这是相同的配置ASP.NET核心。您基本上appsettings.environment.json每个环境都有一个文件,并使用内置IConfiguration接口将您的设置绑定到 classes。由于此类设置以以下json格式存储:

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  },
  "Serilog": {
    "LevelSwitches": { "$controlSwitch": "Debug" },
    "MinimumLevel": { "ControlledBy": "$controlSwitch" },
    "WriteTo": [
...
Run Code Online (Sandbox Code Playgroud)

有多少环境以及如何称呼它们取决于您。下面是一个例子:

ASP.NET 核心应用设置示例

在运行时,环境从操作系统环境变量 ASPNETCORE_ENVIRONMENT的值中扣除。对于开发目的,你可以创建配置文件,并设置ASPNETCORE_ENVIRONMENTwihtin你launchSettings.json是这样的:

"profiles": {
    "Development": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

部署或开始执行Blazor应用程序后,将ASPNETCORE_ENVIRONMENT使用服务器端和客户端应用程序的主机。请记住,即使它是客户端/SPA 应用程序,它仍然托管在服务器上。同样对于客户端Blazor应用程序,appsettings不会交付给客户端,您不希望将连接字符串和其他敏感设置公开给您的客户端,对吗?

作为旁注,如果您Blazor在 IIS 中托管您的应用程序(作为反向代理),将创建一个web.config文件,用于指示 IIS 如何启动应用程序、传递哪些参数以及其他一些内容。

  • 在客户端应用程序中提供配置有效负载的推荐方法是什么? (2认同)