Ros*_*ser 8 configuration .net-core
我们的开发人员正在 .NET Core 3.1 中编写一些 Windows 服务。
据我了解,核心开发的典型模式是检查 DOTNET_ENVIRONMENT 变量以切换不同的配置。
由于 Reasons TM,我们希望避免设置系统级甚至用户级机器环境变量。一些原因是:
对于 IIS 启动的 Kestrel 托管应用程序,可以在 web.config 中设置额外的环境值。这不适用于命令行应用程序。
对此的最佳实践是什么?有没有办法在启动可执行文件之前设置环境变量?或者在启动时通过从配置文件中读取环境变量来设置进程内的环境变量?
其他需要提及的事情:
Mar*_*k G 13
环境变量配置提供程序下的文档中包含以下摘录:
默认配置加载以 . 为前缀的环境变量和命令行参数
DOTNET_。DOTNET_.NET 使用该前缀进行主机和应用程序配置,但不用于用户配置。
因此,如果您使用命令行参数,--environment Development则应将其转换为DOTNET_ENVIRONMENT=Development. 经过测试,它与 .NET 5.0 辅助服务一起使用。
| 归档时间: |
|
| 查看次数: |
11073 次 |
| 最近记录: |