从.NET DLL - app.config问题中使用webservice

Asa*_*f R 10 .net dll web-services app-config svcutil.exe

我正在构建一个DLL,我们称之为mydll.dll,在其中我有时需要从webservice,myservice调用方法.mydll.dll是使用C#和.NET 3.5构建的.

为了消耗为MyServiceMYDLL我添加了一个服务在Visual Studio 2008中,这或多或少与使用svcutil.exe的.这样做会创建一个我可以创建的类,并将端点和绑定配置添加到mydll app.config.

这里的问题是从未加载mydll app.config.相反,加载的是我使用mydll的程序的app.config或web.config .

我希望mydll能够进化,这就是为什么我将它的功能从我的系统的其他部分开始解耦.在这个演变过程中,它可能会增加更多的Web服务,它会调用手动复制粘贴方法来克服这个问题.

我已经研究了几种可能的攻击方法:

  1. 手动将端点和绑定从mydell app.config 复制到目标EXE或web .config文件.
    耦合模块,不灵活
  2. 使用configSource(请参阅此处),在目标.config中包含来自mydll app.config的端点和绑定. 还要在模块之间添加耦合
  3. 以编程方式加载mydll app.config,读取端点和绑定,并实例化Binding和EndpointAddress.
  4. 使用其他工具为myservice创建本地前端

我不知道该走哪条路.选项3听起来很有希望,但事实证明这是很多工作,可能会引入一些错误,所以它无疑是值得的.我也不熟悉规范svcutil.exe以外的任何工具.

请为上述替代方案提供优缺点,提供实施其中任何方案的提示,或建议其他方法.

谢谢,
阿萨夫

Res*_*uta 4

我更喜欢选项 5 - “在代码配置中”,是的,是的,你会失去无需重新编译的更改的好处,但取决于你需要什么。如果您知道您永远不会更改端点或很少更改它 - 只需在代码中进行配置,您将获得编译时间检查作为奖励=)这个这个可以提供帮助。

顺便说一句,客户端配置中的配置是一种常见情况,如果您有很多这样的客户端,这可能会很痛苦,您应该考虑 3 或 5 =)