0

这篇文章是我之前文章的一个分支。但是我还没有尝试实现那里提到的内容。我刚刚学会了使用ConfigurationManager.OpenExeConfiguration()加载配置。下一个自然而然的问题是如何管理 WCF 配置?

我所做的:我创建了一个类库项目(称为A),并添加了对 wcf 服务的引用。A有一个 app.config 文件作为项目的一部分。因此,VS 将在那里自动生成配置。因此,当我构建时,A我会在bin 文件夹中A生成生成的程序集 (A.dllA.dll.config)A

我将另一个项目 ( B) 添加到解决方案中。添加A项目作为参考。因此,在构建时BA.dll将被复制到B的 bin 文件夹中。我还修改了我的构建属性,以便A.dll.config将 postB的构建复制到 B 的 bin 目录中。

在一个类的方法中,A.dll我会在里面创建我的 wcf 代理,如:

var wcfProx = new MyWCFSvcClient();

这个构造函数的调用实际上是从正在执行的程序集的配置文件中挑选值。如果我想让我的 wcf 代理工作,我知道我必须将 A 的 app.config 中的 system.ServiceModel 复制到 B 的配置文件中。这就是我以前一直在做的事情。

但是现在,如何处理Configuration我通过打开的对象ConfigurationManager.OpenExeConfig(),以及如何将该对象关联到我的 wcf 代理实例?这意味着代理实例应该从A.dll.config.

4

1 回答 1

0

也许 ConfigurationManager.OpenMappedExeConfiguration() 是您正在寻找的。

http://msdn.microsoft.com/en-us/library/ms134269.aspx

在示例代码中,作者将当前配置复制到一个新文件中,然后以编程方式将一个新配置部分附加到该文件中。

保存更改并重置该部分后,他们可以重新读取设置。

我无法确定这是否会改变当前正在运行的应用程序的配置,但值得一试。

于 2012-05-25T05:14:40.740 回答