ConfigurationManager.OpenExeConfiguration - 指定要打开的文件

时间:2011-12-30 14:39:21

标签: c# configuration

我有一个n层应用程序。服务(后端)部分需要有一个配置文件,客户端部分需要有自己的配置文件。通常,客户端通过WCF与服务进行通信。但是,对于某些测试,我将在我的客户端中引用服务程序集并绕过WCF。通过这种方式使测试变得更容易。

我的问题是这个。当我以这种方式运行我的客户端时,在我的服务程序集中使用的app.config是客户端的配置文件,而不是它自己的配置文件。当我以这种方式工作时,有没有办法告诉ConfigurationManager使用我的服务程序集配置文件而不是客户端配置文件?

2 个答案:

答案 0 :(得分:0)

当你在测试中运行时,visual studio会做一些魔术并加载服务器配置。添加引用并运行客户端后,它会执行加载exe配置的正常行为,在这种情况下是客户端。

答案 1 :(得分:-1)

如果您试图通过绕过WCF来测试事物,那么您需要更好的代码隔离。最好的办法是构建一个没有WCF依赖关系的服务库并对其进行测试。一旦对服务库的测试感到满意,就使用WCF包装器公开服务库。您必须在WCF操作合同中包含代码。我试着将它们分开以便测试,因为它似乎也是你的目标。

更好的方法是添加一个测试项目,其中包含对服务库的项目引用和单独的配置文件。