Web 服务通常提供一个 WSDL,您可以从中自动创建客户端存根。Web 服务基于 SOAP 协议。
NET Web API 是一个较新的 Microsoft 框架,它可以帮助您构建 基于 REST 的接口。响应可以是 JSON 或 XML,但是没有办法自动生成客户端,因为 Web API 不提供类似 Web 服务中的 WSDL 的服务描述。
因此,这取决于您的需求,您希望使用哪种技术。也许甚至 周转基金更适合您的需求,只需查看 MSDN 文档即可。
Web 服务——这是 W3C 定义的标准,因此可以半自动或自动地访问它们(WSDL/UDDI)。整个系统基于 XML,所以任何人都可以调用它。服务的每个方面都定义得非常好。有参数描述标准、参数传递标准、响应标准、发现标准等。你可以写一本2000页的书来描述这个标准。甚至还有一些做“标准”事情的“附加”标准,比如身份验证。
尽管自动调用和发现几乎不起作用,因为客户机相当差,而且您无法真正保证可以从任何客户机调用任何服务。
Web API 通常以 HTTP/REST 的形式完成,没有定义任何内容,输出可以用于。JSON/XML,输入可以是 XML/JSON/或纯数据。没有关于任何东西 = > 没有自动调用和发现的标准。您可以提供一些文本文件或 PDF 的描述,您可以返回的数据在 Windows-1250而不是 Unicode 等。对于描述的标准,它将是2页小册子与一些简单的信息,你会定义其他一切。
Web 正在转向 Web API/REST。Web 服务实际上并不比 Web API 好多少。开发非常复杂,它们消耗更多的资源(带宽和 RAM) ... ... 而且由于所有数据转换(REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERION-> DATA)都非常缓慢。
艾格。在 WebAPI 中,您可以打包数据,将数据压缩后发送到客户端,然后解压缩 + 解压缩。在 SOAP 中,您只能压缩 HTML 请求。
唯一的区别是 Web 服务促进了网络上两台机器之间的交互。API 充当两个不同应用程序之间的接口,以便它们能够彼此通信。
API 是第三方供应商编写易于与其他程序接口的程序的一种方法。
Web 服务被设计为具有以机器可处理的格式描述的接口,该格式通常在 Web 服务描述语言(Web Service Description Language,WSDL)