对于一台服务器上的许多项目的ConnectionString管理,我应该为我们的代码创建自己的ConnectionString提供程序

Rya*_*eir 2 .net c# connection-string machine.config

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

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

这些项目与我们基础架构中的100多个不同数据库进行交互.他们用来做的连接字符串每月至少更改几次.

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

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

我还可以尝试在所有项目之间共享的machine.config文件中维护ConnectionStrings,但是我必须为项目使用的每个版本的.NET框架执行此操作,该框架至少有三个,并且在这个文件好像很危险.

有人建议采用哪种方式进行?

谢谢.

And*_*lil 5

除了machine.config,您还可以创建常见的appSettings文件.您不需要开发任何新内容,只需将共享设置放在此文件上并在特定配置文件中引用它.

希望这可以帮助.


由于链接已经死亡,这里有几个例子.

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

<connectionStrings configSource="ConnectionStrings.config" />
Run Code Online (Sandbox Code Playgroud)

为了配合从外部文件中的部分(+什么是一节本身):

<appSettings file="FileService.config">
...
</appSettings>
Run Code Online (Sandbox Code Playgroud)