2011-12-30 98 views
2

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

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

+0

你见过这个问题吗? http://stackoverflow.com/questions/471042/wrong-app-config-being-loaded – 2011-12-30 14:54:28

回答

-1

这听起来像你需要更好的代码隔离,如果你想通过绕过WCF来测试事情。你最好的选择是构建一个没有WCF依赖的服务库并测试它。一旦您对服务库的测试感到满意,请使用WCF包装器公开服务库。您必须在WCF操作合同中包含代码。我试图让他们分开测试,因为它看起来也是你的目标。

更好的方法是只添加一个带有对服务库和单独配置文件的项目引用的测试项目。

0

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