【问题标题】:ConfigurationManager.OpenExeConfiguration - Specifying the file to openConfigurationManager.OpenExeConfiguration - 指定要打开的文件
【发布时间】:2012-01-30 14:53:02
【问题描述】:

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

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

【问题讨论】:

标签: c# configuration


【解决方案1】:

当您在测试中运行时,Visual Studio 会发挥一些作用并加载服务器配置。添加引用并运行客户端后,它会执行加载 exe 配置的正常行为,在这种情况下是客户端。

【讨论】:

    【解决方案2】:

    如果您试图通过绕过 WCF 进行测试,听起来您需要更好的代码隔离。最好的办法是构建一个没有 WCF 依赖项的服务库并对其进行测试。对服务库的测试感到满意后,使用 WCF 包装器公开服务库。您必须在 WCF 操作合同中包含代码。为了可测试性,我尝试将它们分开,因为这似乎也是您的目标。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      相关资源
      最近更新 更多