asp.net-web-api - Blazor 项目的 app.config 解决方案是什么?
问题描述
什么是 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": [
...
有多少环境以及如何称呼它们,取决于您。这是一个例子:
在运行时,环境会从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 如何启动应用程序、传递哪些参数以及其他一些事情。
推荐阅读
- python - 在数据框中的其他列上使用应用函数的新列
- c++ - Visual Studio Code c++ 代码编译,但没有控制台输出
- javascript - Python SocketIO 应用程序不适用于 https
- c - 编译器在表达式中使用时如何记住声明的变量?
- dm-script - 通过事件监听器的方法获取一系列 STEM 图像
- machine-learning - 随着批大小的变化,学习率应该如何变化?
- javascript - 尽管 Redux devtools 正确显示存储,但 Redux 状态仍返回未定义
- here-api - HERE Maps Tile API CORS 随机错误
- facebook-messenger - 自定义有效负载不适用于 Messenger
- pandas - Pandas to_csv 导致额外的行