【发布时间】:2019-05-16 06:54:04
【问题描述】:
根据我阅读here 的内容,建议在开发期间使用secret manager 来存储机密,然后在部署到 IIS 时使用环境变量。我不太确定解决此问题的最佳方法是什么 - 我需要能够在不同的 IIS 应用程序中将相同的变量设置为不同的值,因此系统范围的环境变量设置不起作用。
我知道我可以在web.config 中为应用程序设置变量,但是当您进行网络部署时,即使项目中没有web.conifg,VS 也会覆盖服务器上的web.config。我知道使用 web deploy 部署到生产环境可能不是一个好习惯,但我们希望将它用于临时环境等。
如果目标站点上已经存在web.config,有没有办法阻止网络部署覆盖它?
【问题讨论】:
-
使用 appsettings.json 而不是 web.config 在开发过程中将这些应用设置的环境特定值放在用户机密中,并将它们与您为每个应用选择的值一起放置。项目文件中有一个设置,您可以通过在发布期间跳过文件来跳过在部署期间覆盖 appsettings.json 文件。
-
我查找了防止覆盖 appsettings.json 的设置,但找不到。我在哪里设置它?
标签: asp.net-core