3

我正在考虑构建一个集中式服务,为经过适当身份验证的应用程序提供连接字符串。

为了使服务与正常流程兼容,我认为覆盖 app.config 或 web.config 中的 System.Configuration ConnectionStrings 将是一件好事。

我曾考虑过使用 Moles 来执行此操作,但我发现的唯一示例是 UnitTests。

我真正想要的是对 System.Configuration.ConfigurationManager 类的 Mole 覆盖,这样我就可以专门覆盖 ConnectionStringsGet 方法来查找连接字符串的自定义样式。如果未找到,则将调用传递给原始 ConfigurationManger 代码以处理正常的连接字符串。

我还没有用 Moles 编写任何代码,因为我正在为如何开始这个想法而摸不着头脑。如果有人对如何开始有指导,我会接受并继续挖掘。

4

2 回答 2

2

在这种情况下,Moles 似乎并不真正支持尝试覆盖 System.Configuration。

我发现一些帖子展示了定制 system.configuration 过程的有希望的方法。

首先是 Andy Pook 的博客文章http://andypook.blogspot.com/2007/07/overriding-configurationmanager.html,其次是 CodeProject 文章扩展了 Andy http://www.codeproject.com/给出的解决方案文章/69364/Override-Configuration-Manager

这些文章对我的思考过程很有用。

于 2012-04-15T02:05:54.817 回答
0

您最好创建一个接口来从配置文件中获取数据,以及一个只包装静态成员的类。然后,您可以执行自定义逻辑,并回退到标准静态方法。

于 2012-04-15T02:15:28.913 回答