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

时间:2019-06-13 00:13:56

标签: asp.net-web-api asp.net-core web-config blazor blazor-server-side

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

从本质上讲,我需要知道应用在哪种环境下运行(例如,开发,测试,生产)。

  

Blazor的配置故事是什么?

1 个答案:

答案 0 :(得分:4)

ASP.NET核心相同Configuration。基本上,每个环境都有一个appsettings.environment.json文件,并使用IConfiguration界面中的构建到bind your settings to classes。因此,设置以json格式存储:

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

多少个环境以及如何称呼取决于您自己。 这是一个示例:

ASP.NET core appsettings example

在运行时,环境将从OS environment variable ASPNETCORE_ENVIRONMENT的值中扣除。出于开发目的,您可以创建配置文件并像这样设置ASPNETCORE_ENVIRONMENTlaunchSettings.json

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

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

作为旁注,如果您将Blazor应用托管在IIS中(作为反向代理),则会创建一个 web.config 文件,目的是指示IIS如何启动该应用程序,要传递的参数以及其他一些东西。