web-services - 从多个Web服务处理相同的类定义

标签 web-services inheritance

情况:

我们有一个图书馆项目,其中包含许多我们正在从事的各种集成的代码。许多集成消耗Web服务api,而我的主管不希望将5亿兆的Web服务引用添加到项目中。

然后,我们通常要做的是添加对新项目的引用,然后将References.vb复制到解决方案中,然后调用生成的代码。如果对服务进行了更改,并不是很方便,但是它可以工作。

最近,我遇到一个问题,我们必须使用3个Web服务进行相同的集成。其中两个包含相同的类定义,但是它们位于不同的 namespace 中,因为它们属于不同的服务。这对我来说是一个问题,因为其中一项服务根据用户ID搜索用户,而另一项服务则撤回用户块。两者都返回一个在语义上完全相同的对象或列表。无论数据来自一项服务还是另一项服务,我都需要处理相同的数据。

我的解决方案是剥离服务中的重复类,并将其替换为从通用基类继承的类。这使我可以像对待两个对象一样使用它们,但是,它需要修改生成的Web服务代理。因此,每次我需要重新生成代理时,都需要进行此更改。

我很好奇大家可能认为对此有更好的解决方案。

最佳答案

您会后悔通过复制Reference.vb和编辑生成的文件来玩游戏。

切换到WCF,您将能够告诉它要重用这些类型,而不是拥有或多或少相同的多个类型。

顺便说一句,如果在服务器更改后并非同时更新所有Web引用,它们将“不一样”。

关于web-services - 从多个Web服务处理相同的类定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/448434/

相关文章:

vb.net - 运行后台线程以加快执行时间的 WCF 服务

c# - 使用证书身份验证访问 Web 服务和 HTTP 接口(interface)

database - Web 服务和数据库如何相互关联?

oop - 元表在 Lua (5.2) 中为 OOP 服务的目的是什么?

Angular 2/4 : Loading sass variables per module

c++ - 单例类和多重继承

ios - 我在 iPad 应用程序中实现 Oracle UCM 是否有任何用于登录身份验证的 Web 服务?

Python - SOAP 水 - 没有模块

inheritance - 如何在golang中扩展没有主体的功能

c# - 从父类调用派生方法 C#