我需要将生产应用程序设置部分保留在Web.config之外;我不希望密钥和其他秘密信息保存在源代码存储库中.但是,如果我使用IIS Mananger编辑应用程序设置,则会更改Web.config,这将在下次部署时被覆盖.
如何将这些设置保留在部署应用程序附带的Web.config之外?例如,这是由Azure网站以某种方式完成的 – 您在门户中配置的应用程序设置不存储在Web.config中 – 可以通过FTP下载文件来确认.怎么做?
解决方法
对于web.config中的appSettings和connectionStrings节点,您可以将它们移动到web.config之外的单独文件中.
在您的web.config中,您将拥有:
<appSettings configSource="appsettings.config"></appSettings>
然后是一个新文件appsettings.config:
<?xml version="1.0"?> <appSettings> <add key="foo" value="bar" /> </appSettings>
然后,您必须确保不要在生产服务器和开发环境中部署这些新文件并使它们保持不同.