我有一个使用自定义LibraryA的Windows服务。 LibraryA具有对ServiceB的服务引用,ServiceB还在LibraryA的app.config文件中创建了端点条目。 Windows服务的app.config中没有ServiceB的条目。
当LibraryB尝试引用ServiceB时,我收到以下错误:
无法在ServiceModel客户端配置部分中找到引用合同“服务名称”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。
Windows服务是主机。我猜我是否将LibraryA的配置文件中的服务配置信息复制到Windows服务配置文件中,一切都会正常工作。但是为什么LibraryA的配置文件根本不被读取,特别是因为它有配置信息?
答案 0 :(得分:1)
从属于条目程序集的配置文件中读取端点配置。在这种情况下,这不是LibraryA
,而是使用LibraryA
连接到远程服务的应用程序。
您需要在相应的配置文件中添加客户端端点配置(由LibraryA
使用)。
此应用程序将不会读取LibraryA
的配置文件。您可以尝试使用externalsource
共享配置部分,但这并不总是实用的。通常最好让每个应用程序都拥有自己完整且独立的配置。