【发布时间】:2011-01-16 01:31:34
【问题描述】:
我正在构建一个 DLL,我们称之为 mydll.dll,在其中我有时需要调用来自 web 服务的方法,myservice。 mydll.dll 是使用 C# 和 .NET 3.5 构建的。
为了使用 mydll 中的 myservice,我在 Visual Studio 2008 中添加了一项服务,这与使用 svcutil.exe 或多或少相同时间>。这样做会创建一个我可以创建的类,并将端点和绑定配置添加到 mydll app.config。
这里的问题是 mydll app.config 永远不会加载。相反,加载的是我在 mydll 中使用的程序的 app.config 或 web.config。
我希望 mydll 能够发展,这就是为什么我从一开始就将它的功能与系统的其他部分分离。在此演变过程中,它可能会添加更多它将调用的 Web 服务,从而排除手动复制粘贴方法来克服此问题。
我研究了几种可能的方法来解决这个问题:
- 手动将端点和绑定从 mydell app.config 复制到目标 EXE 或 web .config 文件。
耦合模块,不灵活 - 在目标 .config 中包含来自 mydll app.config 的端点和绑定,使用 configSource(请参阅 here)。 还要增加模块之间的耦合
- 以编程方式加载 mydll app.config,读取端点和绑定,并实例化 Binding 和 EndpointAddress。
- 使用不同的工具为 myservice 创建本地前端
我不确定该走哪条路。选项 3 听起来很有希望,但事实证明这是大量工作,并且可能会引入几个错误,所以它值得怀疑。除了规范的 svcutil.exe 之外,我也不熟悉任何工具。
请给出上述替代方案的优缺点,提供实施其中任何一种方法的提示,或提出其他方法。
谢谢,
阿萨夫
【问题讨论】:
标签: .net dll web-services app-config svcutil.exe