• 一、接口的规则


    然后我们了解一下:为什么要使用WebAPI?

        在解释这个问题之前我们需要首先知道一下.net为外部提供接口的方式有哪些?

        答:WCF、WebServiceWebAp、一般处理程序。

          那来了解一下他们之间的区别:

            WebService

                1:基于soap协议,数据格式是xml、

                2:只支持http协议、

                3:不是开源的,但是可以被任意一个了解xml的人使用、

                4:只能部署在iis上。

            WCF

                1:基于soap协议,数据格式是xml、

                2:WCF是webservice的进化版,支持各种各样的协议,像TCP、http、https、NamedPipes、MSMQ等、

                3:不是开源的,但是可以被任意一个了解xml的人使用、

                4:可以部署在应用程序中、IIS上或者Windows服务中。

            WebAPI

                1:是一个简单的构建http服务的新框架、

                2:在.net平台上WebAPI是一个开源的、理想的、构建RESTful服务的技术、

                3:可以使用http的所有特点,(比如URIs、request/response头、缓存、版本控制、多种内容格式)、

                4:支持mvc的特性,像路由、控制器、action、fiter、模型绑定、控制反转、依赖注入、单元测试、

                5:可以部署在应用程序中、IIS上、

                6:是一个轻量级的框架,对各种终端的支持都很好、

                7:Response可以被webAPI的MediaTypeFormatter转换成json、XML或者任何你想转换的格式。

            一般处理程序

                一般处理程序其实就是和页面处理程序相区分开的,因为实现的是IhttpHandler接口,而且不需要继承自Page类。所以没有那么多的事件需要处理,不必消耗太多资源,所以性能方面要比aspx高。

    那么回到这个问题,为什么要使用WebApi?

            当你遇到下面这些情况的时候,就可以考虑使用webAPI来构建你的服务了;

                1:需要webservice但是不需要soap、

                2:需要在已有的WCF服务基础上建立non-soap-based http服务、

                3:只想发布一些简单的http服务,不想使用相对复杂的wcf配置、

                4:发布的服务会被限制带宽的设备访问、

                5:希望使用开源框架,关键时刻可以自己调试或者自定义一下框架。

    最后总结一下WebAPI和MVC之间的区别:WebAPI和MVC之间有什么区别?

            相信使用过mvc和webapi的同学都会觉得这两者太相似了,使用起来也差不多,但是既然是两个框架,那肯定是有区别的,我对WebAPI和MVC的区别做了一下总结:

                1:MVC主要是用来构建网站的,既关心数据也关心页面展示,而WebAPI只关心数据、

                2:WebAPI支持格式协商,客户端可以通过Accept header通知服务器期望的格式、

                3:WebApi支持Self Host,MVC目前不支持、

                4:WebAPI通过不同的http verb表达不同的动作(CRUD),MVC则通过Action名字表达动作、

                5:WebAPI内建于System.Web.Http 命名空间下,而MVC位于Systm.Web.Mvc命名空间下,因此路由等有些许不同、

                6:WebAPI非常适合构建移动客户端服务。

  • 相关阅读:
    Python3.x和Python2.x的区别
    python 列表 元组 字典
    Wireshark TCP报文到达确认(ACK)机制
    Wireshark Tcp三次握手
    Python Vim配置 Win7x64
    Workstation guest fails to restart or resume
    python 枚举目录下所有子目录和文件,输出列表
    Python按行读文件 高级
    python 注释
    十一、设备初始化(ADK4.0)
  • 原文地址:https://www.cnblogs.com/fger/p/11119345.html
Copyright © 2020-2023  润新知