【问题标题】:When is config file read?什么时候读取配置文件?
【发布时间】:2013-10-02 22:13:53
【问题描述】:

我有一个使用自定义 LibraryA 的 Windows 服务。 LibraryA 有一个对 ServiceB 的服务引用,它还在 LibraryA 的 app.config 文件中创建了端点条目。 Windows 服务的 app.config 中没有 ServiceB 的条目。

当 LibraryB 尝试引用 ServiceB 时出现以下错误:

在 ServiceModel 客户端配置部分中找不到引用合同“服务名称”的默认端点元素。这可能是因为找不到您的应用程序的配置文件,或者因为在客户端元素中找不到与此协定匹配的端点元素。

Windows 服务是主机。我猜如果我将 LibraryA 的配置文件中的服务配置信息复制到 Windows 服务配置文件中,一切都会正常工作。但是为什么根本没有读取 LibraryA 的配置文件,尤其是因为它有配置信息?

【问题讨论】:

  • 您可以在网络浏览器中访问端点吗?这将表明配置错误或服务是否根本不工作。

标签: c# .net wcf wcf-binding


【解决方案1】:

端点配置是从属于入口程序集的配置文件中读取的。在这种情况下不是LibraryA,而是使用LibraryA 连接到远程服务的应用程序。

需要在对应的配置文件中添加客户端端点配置(LibraryA使用)。

来自LibraryA 的配置文件将不会被此应用程序读取。您可以尝试使用externalsource 共享配置部分,但这并不总是可行的。通常最好让每个应用都有自己的完整和独立的配置。

【讨论】:

  • 好吧,你必须确保生成的配置文件是有效的。例如,没有双 <system.servicemodel> 部分。
猜你喜欢
  • 2011-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-03
  • 1970-01-01
  • 2011-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多