zoukankan      html  css  js  c++  java
  • Web Service和Web Api的区别和应用场景

    Web Service特征
    1、它是基于SOAP协议的,数据格式是XML
    2、只支持HTTP协议
    3、它不是开源的,但可以被任意一个了解XML的人使用
    4、它只能部署在IIS上

    Web API特征

    1、这是一个简单的构建HTTP服务的新框架
    2、在.net平台上Web API 是一个开源的、理想的、构建REST-ful 服务的技术
    3、它可以使用HTTP的全部特点(比如URIs、request/response头,缓存,版本控制,多种内容格式)
    4、它也支持MVC的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试。这些可以使程序更简单、更健壮
    5、它可以部署在应用程序和IIS上
    6、这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好
    7、Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。
    8、Web API非常适合构建移动客户端服务


    以下情况可以考虑用Web API
    1、 需要Web Service但是不需要SOAP
    2、 需要在已有的WCF服务基础上建立non-soap-based http服务
    3、 只想发布一些简单的Http服务,不想使用相对复杂的WCF配置
    4、 发布的服务可能会被带宽受限的设备访问
    5、希望使用开源框架,关键时候可以自己调试或者自定义一下框架
    6、如果服务需要在http协议上,并且希望利用http协议的各种功能
    7、如果服务需要被各种客户端(特别是移动客户端)调用


    小结(仅供参考)
    总体来说,两者都是服务,只是表现形式存在一些差异
    webapi多用于基于http请求的服务应用,比如说移动服务端或者需要提供第三方API 服务的场景下
    webservice也可以应用于webapi所在的场景,但是如果是我的选择,我一般是做为内部服务的使用,好比如果一个系统我会用wcf/webservice作为内部子系统间的服务通信,而webapi用于外部服务的请求~

  • 相关阅读:
    理解Java中字符流与字节流的区别
    程序员常见面试问题(不定期更新)
    软链接 硬链接
    《大数据时代》读后的思考
    mysql——int(size) 中的size表示什么意思
    Access denied for user ''@'localhost' to
    Effective c++——条款03:尽可能使用const
    http——wireshark抓包分析
    vim——vim配置步骤
    正则表达式和通配符
  • 原文地址:https://www.cnblogs.com/ma-yuanhao/p/9878451.html
Copyright © 2011-2022 走看看