问题描述
我有可以工作的Web客户端,它使用&wwwroot/appsettings.json";文件进行配置。 现在,我只想使用环境变量来覆盖单个设置(例如,实际上会有许多任意的覆盖)。是否有类似ASP.NET Core服务器的现成使用机制(只需调用扩展方法并结合json、env。变量)?
我不是询问多个.json文件并根据环境变量在它们之间切换,这是完全不同的情况。
到目前为止,我还没有找到任何接近的东西,所以考虑一下DIY方法,我看到了一条难看的路径--将客户端配置文件移到宿主服务器中,在客户端.json文件中添加主节点(如客户端&),使用前缀为客户端&的环境变量,使用ASP.NET服务器机制合并这些数据,将其转储回文件中供客户端使用。并希望它能奏效:-)。
所以我遵循了DIY路径:-)如果有人喜欢,请看下面的步骤:
在Web客户端wwwroot--appsettings.json、appsettings.Development.json和生产版创建3个JSON为空的文件 将您的整个Web客户端配置放入位于";客户端和节点的托管服务器的appsettings.json中,例如推荐答案
env
是IWebHostEnvironment
)
就是这样--我在开发模式和生产环境中测试了它。我看到的唯一缺点是:
- 看起来很奇怪:-)
- 当使用VS执行时,写入的文件不是相对于二进制文件,而是相对于项目--所以当您完成时,您必须删除新创建的文件(否则在下一次运行时,VS会抱怨两个静态文件之间存在冲突)
这篇关于如何用环境变量覆盖Blazor客户端配置?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!