【WCF】WCF RESTful(一)——简介

一、前言

      前两天去面试的时候和面试官交流的时候,他说他们用到的技术是WCF REST,小编当时没有接触过,仅仅接触过WCF,但是当小编仔细研究后,做了一个demo后,发现他们大体还是一样的,下面就分析一下REST是什么。

二、什么是REST?

      要说REST是什么,就必须先说说提出他的人——Roy Thomas Fielding,Fielding博士是HTTP和URI等Web架构标准的主要设计者,也是Apache HTTP服务器的主要设计者,深入理解REST等Web架构背后的工作原理。

REST(Representational State Transfer)强调概念和层次的划分、无状态和存储这类的东西,这类东西以他们提供的优势,在许多分布式的体系结构中十分常见。优势包括交互性、独立的改进、拦截、改进的拓展性、效率以及总体上的性能。


三、和WCF其他类型的区别

      实际上,区别仅仅是客户端访问我们的服务的方式,通常,一个WCF服务支持SOAP、REST和POX。

  • WCF SOAP Service

SOAP的核心是一个基于xml的消息结构,由于遵循SOAP协议,所以返回的内容以xml方式组织。并且客户端需要添加服务端引用才能使用,所以给开发和部署带来了不小的麻烦。并且服务过多的时候,生成引用文件会很大,不方便,维护困难。

  • WCF RESTful Service

WCF通过WebGetAttribute、WebInvokeAttribute(Get、put、post、delete)、UriTemplate定义的服务的调用方式,通过WebMessageFormat(xml、json)定义传输格式。WCF RESTful Srevice完全使用Http协议来进行,并且无需添加客户端引用,所以方便很多。

      实际上区别仅仅是客户端访问我们的服务的方式。通常的,一个WCF服务会使用SOAP,但是如果你构建了一个REST服务,客户端会使用一个不同的结构样式来访问你的服务(调用,如JSON一般的序列化,等等)。

      REST使用一些常见的HTTP方法来插入、删除、更新、返回信息,这些方法如下:

  • GET - 请求针对资源的特定表达式

  • PUT - 根据提供的表达式创建或者更新一个资源

  • DELETE - 删除指定的资源

  • POST - 提交数据来让指定的资源处理


      名词解释:

      WCF :Windows Communication Foundation,Windows通讯接口,分布式的面向服务编程的架构。

      SOAP:Simple Object Access Protocol简单对象访问协议,用来描述传递信息的格式。

      WSDL:Web Services Description Language,用来描述如何访问具体的接口。

      UDDI:Universal Description Discovery and Integration,用来管理,分发,查询webService 。


四、为什么使用REST?

      服务,它能够支持多种语言、平台或系统的访问。它可以被iPhone、Android、Windows Phone、.Net Web应用、Java或者PHP所使用。使用Web服务,使用统一的系统来将它展现给每个人。

      1.更少的开销(对于每次调用不需要包裹SOAP外壳)

      2.更少的重复(HTTP已经提供了诸如DELETE、PUT、GET等等的方法,否则将表现在一个SOAP外壳当中)。

      3.更标准化 - HTTP方法很容易理解并且操作一致。一些SOAP实现可能变得过分挑剔。

      4.对于人类有更强的可读性和可测试性(很难仅仅用一个浏览器来测试SOAP)。

      5.不需要使用XML(好吧,对于SOAP貌似也不需要使用,不过这很难成立,因为你已经开始解析外壳了)

      6.使得SOAP(有点)容易。但正如我提到的,你正在抽出大量的底层冗余。确实,在理论上,在避免装载功能相同的顶层这一项上,SOAP能够超过其他的转换;但是在现实中你可能做的几乎所有SOAP工作,都是通过HTTP的。

四、小结

      总有自己不太知道的地方,所以还是要多多的学习,不断的理解新的知识,接触了才会有新的见解。

      下一篇博客带大家搭建一个WCF RESTful的服务。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你个佬六

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值