以编程方式更新web.config是不好的做法吗?

时间:2014-09-19 08:31:46

标签: c# iis-7 installer

我已经构建了一个安装程序,用于创建网站,应用程序池,然后将网站分配给应用程序池。作为其中的一部分,我允许用户为各种连接字符串输入不同的设置(允许开发人员将它们设置为DEV / UAT等)。然后,我使用用户输入的设置修改web.config。

由于这只是由一小部分开发人员安装的东西,我并不关心输入的安全性(我知道他们可以放入任何东西),但更多的是它是否&& #39;以这种方式修改web.config被认为是不好的做法?

我已经在这里读了几个关于人们如何做到这一点的问题,而且每个人都有人说这样做并不是一个好主意。 this question的第二个答案指出,这样做会重新启动您的应用程序。如果您的用户正在使用该应用程序,我可以看到这可能会导致问题,但对于我的方案,这并不相关。这是在这样做时考虑的唯一理由吗?

3 个答案:

答案 0 :(得分:1)

web.config与.htaccess文件类似,在 wordpress 中,某些插件会自动更新这些文件。
这个链接可能对你有帮助,前几天我确实有同样的问题

Change a web.config programmatically with C# (.NET)

答案 1 :(得分:1)

警告通常在有人谈论让asp.net网站更新其自己的 web.config文件时应用。但据我了解,您正在谈论从安装程序更新它,这是在使用该网站之前发生的,所以应该没问题。


当然,从另一个角度考虑一下 - 以编程方式操作这些文件的替代是什么?您是否有任何手段来处理这些文件,在某些时候,某些程序打开文件并写入文件?

记事本?这是一个程序。

IIS管理器?这是一个程序。

您的安装人员?这是一个程序。

答案 2 :(得分:1)

只是一个(可能是显而易见的)想法:小心不要覆盖安装后添加的任何手动更改。

如果我对配置文件进行了一些自定义更改,我不希望它们被程序覆盖。听起来好像在您的场景中会发生这种情况,所以如果解决方案适合您,我就无法看到任何真正的问题。