web.config 之外的应用程序设置

Mir*_*rea 7 iis web.config

我需要将生产应用设置部分保留在 Web.config 之外;我不希望将密钥和其他秘密信息保存在源代码存储库中。但是,如果我使用 IIS Mananger 编辑应用程序设置,它会更改 Web.config,这将在下次部署时被覆盖。

如何在部署时将这些设置保留在应用程序随附的 Web.config 之外?例如,这是由 Azure 网站以某种方式完成的——你在门户中配置的应用程序设置不存储在 Web.config 中——可以通过 FTP 下载文件来确认。它是如何完成的?

Pet*_*orf 5

对于 web.config 中的 appSettings 和 connectionStrings 节点,您可以将它们移动到 web.config 之外的单独文件中。

在您的 web.config 中,您将拥有:

<appSettings configSource="appsettings.config"></appSettings>
Run Code Online (Sandbox Code Playgroud)

然后是一个新文件 appsettings.config:

 <?xml version="1.0"?>
 <appSettings>
     <add key="foo" value="bar" /> 
 </appSettings>
Run Code Online (Sandbox Code Playgroud)

然后,您必须确保不部署这些新文件,并使它们在生产服务器和开发环境中保持不同。

我的所有 web.config 文件都从我的部署过程中排除,如果我需要更改它们,我会在舞台或生产站点上进行。