2

我在一个 Windows Server 上有大约 10 个不同的 .NET 项目,主要是 .NET 4.0,但也有一些 .NET 2.0

其中一些项目是 asp.net,一些是后台实用程序/服务。

这些项目与我们基础设施中的一百多个不同的数据库进行交互。他们用来执行此操作的 ConnectionStrings 每月至少更改几次。

这里的问题是忘记在这些项目之一中放置 ConnectionString 会导致很多问题,并且许多不同的程序员一直将新项目/更新部署到服务器。

我对解决方案的新尝试是覆盖所有项目中的 System.ConfigurationManager 类,并将其替换为我自己的实现,该实现从我可以维护的共享配置文件中读取。然后我只需重新编译每个项目并部署它。

我也可以尝试在所有项目之间共享的 machine.config 文件中维护 ConnectionStrings,但我必须为至少三个项目使用的每个版本的 .NET 框架都这样做,并且在这个文件似乎很危险。

有没有人建议以哪种方式进行?

谢谢。

4

2 回答 2

5

除了 machine.config,您还可以创建通用的 appSettings 文件。您不需要开发任何新东西,只需将您的共享设置放在此文件上,然后在您的特定配置文件中引用它。

希望这可以帮助。


由于链接已失效,这里有几个例子。

要从外部文件完全加载部分:

<connectionStrings configSource="ConnectionStrings.config" />

补充外部文件中的部分(+ 部分本身的内容):

<appSettings file="FileService.config">
...
</appSettings>
于 2012-07-06T13:38:17.597 回答
0

在 machine.config 和其他解决方案之间有ALIAS。这里的限制是:它只适用于 sql server。

于 2012-07-06T13:37:59.860 回答