当前位置:  开发笔记 > 编程语言 > 正文

包括类库中的服务引用

如何解决《包括类库中的服务引用》经验,为你挑选了1个好方法。

我有一个C#类库和一个启动项目(一个控制台应用程序).类库包括对Web服务的服务引用.当我尝试运行项目时,我得到一个InvalidOperationException,因为启动项目没有读取类库的app.config,而是忽略了服务引用.为了使它工作,我被迫为启动项目添加相同的服务引用.有什么方法可以避免这种情况吗?我是否可以使启动项目识别类库的服务引用和app.config而无需将其复制到启动项目?

我已经尝试从类库中添加指向app.config的链接,但这不起作用.如果类库需要使用它来将该服务引用添加到启动项目中,则该类库不是非常便携.



1> Andrew Hare..:

想想你想要做什么 - 你有两个正在构建的程序集:

Library
ConsoleApp

这两个程序集都有配置文件 - 我想它们看起来像这样:

Library
    app.config
ConsoleApp
    ConsoleApp.exe.config

当你运行ConsoleApp它时无法app.config从你的Library装配中读取或知道.它知道或关心的唯一配置文件是ConsoleApp.exe.config.现在可以让配置文件相互引用,但这不是您正在尝试执行的操作的正确解决方案.

由于您的Library程序集没有入口点,因此永远不会将其加载到AppDomain中.由于永远不会将其加载到AppDomain中,因此永远不会使用其应用程序配置文件.

什么你应该做的是参考LibraryConsoleApp通过项目引用.然后将所有相关的配置数据app.configConsoleApp.exe.config,因为这是将您的应用程序使用的配置文件.

这将允许您在Web服务上调用方法所需的两件事

    其中的代码Library可以发送和接收SOAP消息.

    Library功能所需的配置元数据.


格雷格,我不同意.库配置数据等同于开发人员知道的Web服务URL,而不是用户.用户不必关心该URL是什么; 它是一个库的内部实现,作为接口(库)的用户,我不应该关心实现的细节(它正在使用的Web服务).感谢上帝,我可以使用Google的Java客户端库,而无需考虑它用于执行其功能的URL.不幸的是,如果有.NET版本,我会被迫关心.在我看来,没有这个选项是.NET中的一个重大缺陷.
推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有