我正在尝试使用多个 Web 服务,这些服务在其 wsdl 中重新定义了一些相同的公共类。我目前在网站中引用了它们,但我想转换为 Web 应用程序。

由于某些相同的类是从多个 Web 服务重新定义的,因此问题在于,将它们添加到 Web 应用程序中时,无法使多个 Web 服务之间的命名空间相同,就像在网站中那样。

有什么办法可以做我正在寻找的事情吗?

有帮助吗?

解决方案

显示项目中的所有文件,然后手动编辑自动生成的 Reference.cs 文件以更改命名空间(并删除重复项)?丑陋,但应该有用。

或者,从命令行使用 wsdl.exe — 它可以为多个服务生成单个代理 — 然后将生成的文件手动添加到项目中。语法类似于: wsdl http://svr/foo.asmx http://svr/bar.asmx /namespace:Fnord.Proxies

其他提示

啊,我不知道 wsdl 命令行实用程序可以为许多 asmx 生成一个文件......棒极了!我现在就尝试一下。我也可以将其集成到我们的构建过程中。太好了,谢谢!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top