我正在处理的情况不是最理想的,所以请耐心等待。
我们将使用外部(非 .NET)SOAP-webservices。
出于某种原因,每个方法都在具有自己的 WSDL的单独 Web 服务中实现。Web 服务返回的
许多对象具有完全相同的设计、名称和 xml 命名空间。
使用“添加服务参考”是因为:
- 内部开发团队已经习惯了
- 我们希望保持自动“更新服务参考”
第二个引用添加了“在所有引用的程序集中重用类型”选项。
然而,所有类都在新参考下再次生成。
哪里有重用第一个参考中的类的方法?
我正在处理的情况不是最理想的,所以请耐心等待。
我们将使用外部(非 .NET)SOAP-webservices。
出于某种原因,每个方法都在具有自己的 WSDL的单独 Web 服务中实现。Web 服务返回的
许多对象具有完全相同的设计、名称和 xml 命名空间。
使用“添加服务参考”是因为:
- 内部开发团队已经习惯了
- 我们希望保持自动“更新服务参考”
第二个引用添加了“在所有引用的程序集中重用类型”选项。
然而,所有类都在新参考下再次生成。
哪里有重用第一个参考中的类的方法?
如果您打开服务引用的 Reference.svcmap(要找到它,请选中“显示所有文件”并展开您的服务引用)并手动编辑它,您可以添加多个 WSDL,而不是通过 GUI 设置 WSDL URI。例如
<MetadataSources>
<MetadataSource Address="http://localhost/example1.wsdl" Protocol="http" SourceId="1" />
<MetadataSource Address="http://localhost/example2.wsdl" Protocol="http" SourceId="2" />
</MetadataSources>
当您在一个服务参考中有多个 WSDL 时,只要它们在不同的 WSDL 中相同,就会按照您的描述重用类。如果存在名称相同但定义不同的类,则其中一个将在其名称后附加“1”后缀。