.net - 多个应用程序共享相同的配置文件

标签 .net web-services configuration windows-services

在我的生产环境中,我在同一台计算机上安装了多个 Web 应用程序。这些应用程序访问各种 Web 服务和两个 SQL Server 数据库,这意味着我的 web.config 文件非常大并且充满详细信息。除此之外,我还有 Windows 服务,它们使用相同的 Web 服务并访问不同的数据库,而且我还有包含大量详细信息的大型 app.config 文件。整个解决方案是使用 .NET 3.5 (C#) 开发的。

当我的四个开发团队之一想要部署解决方案某些部分的新版本并且所有配置文件都需要更改时,我的问题就开始了。由于我的 QA 环境与生产环境具有不同的计算机名称,因此我无法对配置文件进行简单的复制,因此我需要手动更改每个配置文件。而且,无论我的同事做了多少次检查(甚至使用检查列表),某些配置都会保持不变,并且解决方案的某些部分会停止。

有没有办法为所有应用程序创建唯一的配置文件?或者,至少将数据库连接字符串和 Web 服务 URL 集中在一个文件中以供所有应用程序使用?

P.S.:我无法更改部署团队,因为他们属于我的客户:(

最佳答案

您可以使用 connectionStrings 部分中的 configSource 属性来包含外部连接字符串文件:

应用程序 web.config

<configuration>
  <connectionStrings configSource="connectionStrings.config" />
</configuration>

connectionStrings.config

<connectionStrings>
  <add name="connection1" connectionString="..." />
</connectionStrings>

注意:正如 marc_s 在注释中建议的那样,configSource 属性可以在任何配置部分使用。

关于.net - 多个应用程序共享相同的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1692800/

相关文章:

.net - 如何: get time zones in .网络框架2.0

php - 更新11M行数据库和my.cnf优化

c# - 如何在 ASP.NET 样板中设置社交登录?

jquery - 在所有浏览器中缓存 jQuery REST Ajax 响应

web-services - 在 SOAP 协议(protocol)中键入 ="xs:string"或类型 ="xsd:string"

java - Glassfish 4.1 : war inside ear does not expose webservices

kubernetes - 用于 Azure Key Vault secret 的 AKS Kubernetes CSI 驱动程序的 .Net 核心配置提供程序

c# - 我正在使用大量数据进行比较。是否有将数据分页到数据表的想法

.net - 从 TeamCity 服务器上的构建文件夹运行 MS 测试

用于音乐编程的 .NET API?