asp.net - 使用 asp.net 根据不同的服务器更新 web.config

标签 asp.net variables web-config environment-variables

我正在寻找一种简单而优雅的方法来根据不同的环境在 web.config 中更改我的 appsettings 我有 (dev/qa/test/stage/prod) 并且我是手动的更改 appsettings 非常繁琐且耗时,我有大约几十个设置....对于这种情况最好的方法是什么?我知道一种使用 Environment variables 的解决方案,但想听听最佳实践?

最佳答案

我更喜欢使用 web.config 的外部化部分,如下所示:

<appSettings configSource="appsettings.config" />

那么 appsettings.config 看起来像这样:

<appSettings>
   <add key ...>
</appSettings>

这允许我将应用程序设置保存在不会更改的单独文件中,同时仍然允许我编辑主 web.conifig 以获取实际配置部分。 您可以对其他部分执行相同的操作 - 连接字符串、system.net(用于电子邮件配置)等。

我其实不认为VS2010的方式很好,因为它需要重新构建只是为了改变配置。以我的方式,它完全可以在没有 VS 的情况下使用,所以我可以轻松地手动修改我的所有环境。

关于asp.net - 使用 asp.net 根据不同的服务器更新 web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4350931/

相关文章:

asp.net - 将域重定向到 ASP.NET 中的另一个域

c# - 如何覆盖数据列表以呈现为 div 而不是表格?

java - 为什么建议将实例变量声明为私有(private)?

php - 这些 PHP 条件是否相同或有优势

asp.net-mvc - 在没有 Visual Studio 的情况下获取 SQL Server 的连接字符串

asp.net - 在 web.config 文件中使用 HTML 标记

asp.net - ASP.NET 网站是否有 "release"配置?

c# - 为什么我的文件上传控件不能正常工作

c# - .net mvc4 HttpPost 空值

ios - “__block变量”内存管理的规则是什么?