从其他服务引用重用现有类

Dav*_*vid 11 .net c# web-services service-reference

我正在处理的情况不是最理想的,所以请耐心等待..

我们将使用外部(非.NET)SOAP-webservices.
出于某种原因,每个方法都使用自己的WSDL单独的Web服务中实现.Web服务返回的 许多对象具有完全相同的设计,名称和xml命名空间.

使用" 添加服务引用 "是因为:
- 内部开发团队习惯了它
- 我们希望保留自动"更新服务参考"

第二个引用添加了"所有引用的程序集中的重用类型"选项.然而,
所有类都在新引用下再次生成.

是哪里的方式再利用从班第一参考

Tim*_* S. 19

如果打开服务引用的Reference.svcmap(要查找它,检查"显示所有文件"并展开服务引用)并手动编辑它,而不是通过GUI设置WSDL URI,则可以添加多个WSDL.例如

  <MetadataSources>
    <MetadataSource Address="http://localhost/example1.wsdl" Protocol="http" SourceId="1" />
    <MetadataSource Address="http://localhost/example2.wsdl" Protocol="http" SourceId="2" />
  </MetadataSources>
Run Code Online (Sandbox Code Playgroud)

当您在一个服务引用中有多个WSDL时,只要它们在不同的WSDL中相同,就会在您描述时重用这些类.如果存在具有相同名称但定义不同的类,则其中一个类的名称后面会附加一个"1"后缀.