• WCF、WebAPI、WCFREST和Web服务的差异 ASP.NETMVC和ASP.NETWebAPI的差异


    WCF、WebAPI、WCFREST和Web服务的差异:

    Web服务

    1. 它是基于SOAP和XML的形式返回数据

    2. 它仅支持HTTP协议。

    3. 它是开放源,但是不消耗任何客户端可以同时理解XML。

    4. 它可以仅在IIS托管

    WCF

    1. 它也是基于SOAP和XML的形式返回数据

    2. 它是对演化的Web服务(asmx)和支持各种协议(如TCP、HTTP、HTTPS)、命名管道、MSMQ。

    3. WCF最主要的问题是,其繁琐和大量的配置。

    4. 它是开放源,但是不消耗任何客户端可以同时理解XML。

    5. 可以在应用程序或IIS托管也可以部署为windows服务

    WCFREST

    1. 使WCFREST服务必须启用webhttpbindings

    2. 它支持HTTP动词GET和POST[][]和webgetwebinvoke属性。

    3. 启用HTTP动词以外,你还得在配置IIS来接受该请求的特定动词对.svc文件

    4. 使数据通过使用webget需要配置参数。必须指定该uritemplate

    5. 支持XML、JSON和Atom格式数据

    WebAPI

    1. 这是新的框架来构建HTTP服务的简单和容易方式。

    2. 开放源WebAPI是一个理想平台服务的REST-ful的NET框架

    3. WCFREST服务不同,它使用了HTTP的特点充分类似(URI、请求/响应报头,缓存,版本、各种内容格式)

    4. 它还支持MVC的特征,诸如路由、控制器、操作结果、过滤器、活页夹、或IOC依赖注入容器,测试单元,使其更加简单和鲁棒。

    5. 可以托管在应用程序或IIS下。

    6. 它是结构良好的和重量轻的设备具有有限的带宽,如智能电话。

    7. 响应格式化为JSON,XML或任何格式,您需要添加一个mediatypeformatter。

    如何选择WCF、WebAPI

    1. 对于单向消息传递、消息队列、半双工通信等可以选择WCF。

    2. 当需要使用全特征的(如HTTPURI,请求/响应报头,缓存,版本、各种内容格式),可以选择WebAPI。

    3. 当需要建立服务于浏览器、移动电话、iPhone和平板电脑的项目可以选择WebAPI。


    ASP.NETMVC和ASP.NETWebAPI

    1. 使用ASP.NETMVC创建Web应用返回数据,但是ASP.NETWebAPI被用于创建完整HTTP服务的容易且简单的方式,不只返回数据视图。

    2. 有助于构建webAPI(REST)风格的服务。NET框架,它还支持内容协商(约决定最佳响应格式数据,该数据可以是可由客户端的JSON、XML或其它格式的数据),自托管的MVC

    3. WebAPI也需要返回数据的特定格式(如JSON,XML或任何其它基于接收的报头的请求。仅在MVC中使用JSON格式返回数据jsonresult。

    4. 在WebAPI的请求的动作被映射到基于HTTP动词,但它在MVC中被映射到动作名称。

    5. ASP.NETWebAPI的新框架和ASP.NET框架的核心部分。该模型结合、过滤、路由和其他特征在存在MVCWebAPI不同于MVC和存在于新System.Web.Http组件。在MVC中,这些特征在与存在System.Web.Mvc。因此,WebAPI也可以使用ASP.NET和作为独立的服务层。

    6. 您可以在MVC控制器和WebAPI单个项目来处理高级Ajax请求的返回数据可以在JSON、XML或其他格式的全面建设和HTTP服务。通常,这被称为自托管WebAPI。

    7. 此外,WebAPI是重量轻的应用除了Web体系结构和它也可用于智能手机应用。

    mvc主要用于建站,web api主要用于构建http服务

  • 相关阅读:
    yii2.0缓存的使用
    yii2.0框架where条件的使用
    yii2.0自带验证码使用
    spring中MessageSource的配置使用方法1[转]
    DOM、JDOM、DOM4J的区别
    探秘Java虚拟机——内存管理与垃圾回收
    MySQL开发规范和原则大全
    Java Classloader机制解析
    Junit之测试顺序---FixMethodOrder
    MySQL的btree索引和hash索引的区别
  • 原文地址:https://www.cnblogs.com/licin/p/7363564.html
Copyright © 2020-2023  润新知