【发布时间】:2019-04-13 06:11:47
【问题描述】:
我们将 ASP.NET 用于托管在 IIS 8.5 中的 Web 应用程序。 ASP.NET 使用 web.config 文件来存储所有应用程序和 IIS 相关的配置。每当我们为 Web 应用程序部署新版本的代码时,我们也会部署 web.config 文件。
最近运营团队对该部署过程提出了担忧。他们说,如果有人更改了 IIS 中的某些设置并且该 web.config 已为此更新,则开发人员无法知道该更改,以便他们可以更新代码库(版本控制系统)中的 web.config。所以最终在下一次部署时,web.config 更改将被旧的 web.config 覆盖。
有两种可能的解决方案:
- 在每次部署代码之前,将 web.config 与服务器和代码库合并。
- 在不同的配置文件中解耦应用程序配置和IIS配置。
我的问题是,在 ASP.NET 中解决这类问题的最佳实践是什么?
【问题讨论】:
-
了解您的运营团队想要进行哪些更改更为重要。他们想要的大部分更改,都可以作为位置标签添加到
applicationHost.config,以便不同的团队(开发人员/运营)管理不同的文件(web.config/applicationHost.config)。您所说的“将应用程序配置和IIS配置在不同的配置文件中解耦”是什么意思?我宁愿认为应该逐案处理。至少来自 Microsoft 文档的“最佳实践”。