我正在构建一个 DLL,我们称之为 mydll.dll,在其中我有时需要调用来自 webservice、myservice 的方法。 mydll.dll 是使用 C# 和 .NET 3.5 构建的。
为了使用 mydll 中的 myservice,我在 Visual Studio 2008 中添加了一项服务,这与使用 svcutil.exe 大致相同。这样做会创建一个我可以创建的类,并将端点和绑定(bind)配置添加到 mydll app.config。
这里的问题是 mydll app.config 永远不会加载。相反,加载的是我使用 mydll 的程序的 app.config 或 web.config。
我希望 mydll 能够发展,这就是为什么我从一开始就将它的功能与系统的其他部分分离。在那个演变过程中,它可能会添加更多它将调用的 Web 服务,从而排除手动复制粘贴方法来克服这个问题。
我研究了几种可能的方法来解决这个问题:
耦合模块,不灵活
还添加模块之间的耦合
我不确定该走哪条路。选项 3 听起来很有希望,但事实证明它是 很多工作,并且可能会引入几个错误,所以它值得怀疑。除了规范的 svcutil.exe 之外,我也不熟悉任何工具。
请给出上述替代方案的利弊,提供实现其中任何一个的提示,或提出其他方法。
谢谢,
阿萨夫
最佳答案
我更喜欢 选项 5 - “在代码配置中”,是的,是的,你失去了改变而不重新编译的好处,但这取决于你需要什么。如果您知道自己永远不会更改端点或很少更改端点 - 只需在代码中进行配置,您将获得编译时检查作为奖励 =) This和 this能够帮助。
顺便说一句,客户端配置中的配置是一种常见情况,如果你有很多这样的客户端,这可能会很痛苦,你应该考虑 3 或 5 =)
关于.net - 从 .NET DLL 使用 webservice - app.config 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2250409/