0

我的解决方案中有多个项目。我有一个专门用于保存引用许多 WCF 服务引用的项目(它保存对 WCF 服务的引用,而不是 WCF 服务的实现),让我们将此项目称为“GlobalWebServices”。然后我有许多引用这个 GlobalWebServices 项目的可执行应用程序。当我执行这些应用程序并尝试调用引用 Web 服务时,它们自然会丢失我想要调用的 ServiceReferences 的配置详细信息。配置设置属于类库项目 - 'GlobalWebServices'。

存储这些 ServiceReference 绑定详细信息的最佳方式是什么?我不想将每一个都复制到正在执行的应用程序的 .config 文件中,因为它感觉不整洁,而且我正在复制信息。我不想在“GlobalWebServices”应用程序中对 ServiceReference 绑定进行硬编码,因为我已经为每个服务生成了绑定连接信息(嗯……Vis​​ual Studio 已经为我做了这件事,但仍然如此)。理想情况下:我希望 GlobalWebServices 库在构建时自动将绑定信息(当前存储在它的 app.config 中)包含到类库中。

对此的最佳实践解决方案是什么?

4

1 回答 1

1

您可以使用configSection分离出 web.config 的不同部分。

可能有更好的答案,但我的第一个想法是将配置文件放在您的类库项目中。将配置文件的属性设置为“Content”和“Copy if Newer”。这将允许您将它放在一个位置以进行源代码控制。这个选项的缺点是,一旦部署,它会在几个不同的位置,但如果使用配置文件的每个应用程序的配置需要不同,这也可能很好。

我知道可以以编程方式配置服务,然后将配置写入文件。我想这意味着您可以采用另一种方式,并拥有一个单独的 XML 文件,并从那里加载绑定等,而不是 app.config 本身。

于 2012-05-01T14:57:51.820 回答