用wcf 4.0 Rest开发 API

liuyun1987 2011-10-09 05:21:43
表象化状态转变(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。

宗旨:
REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表形。获得这些表形致使这些应用程序转变了其状态。随着不断获取资源的表形,客户端应用不断地在转变着其状态,所谓表形化的状态转变(Representational State Transfer)。

要点及标准:
REST是一种设计风格而不是一个标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。

资源是由URI来指定。
对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。
通过操作资源的表形来操作资源。
资源的表现形式则是XML或者HTML,取决于是读者是机器还是人,消费web服务的客户软件还是web浏览器。当然也可以是任何其他的格式。

REST的要求:
客户端和服务器结构
连接协议具有无状态性
能够利用Cache机制增进性能
层次化的系统
Code On Demand - Javascript

关于状态:

应该注意区别应用的状态和连接协议的状态。REST对于连接的无状态性实际上要求每次在无状态的连接协议中传送的信息包含应用中所有的状态信息。


关于Rest的简介我就不在这多啰嗦了。有兴趣的朋友可以到以下连接去查看:
http://www.infoq.com/cn/articles/rest-introduction
星巴克咖啡Rest的案例:
http://www.infoq.com/cn/articles/webber-rest-workflow

用WCF 4.0构建REST Service
http://www.cnblogs.com/lanvige/archive/2011/05/19/1895654.html
WCF 4.0--RESTFull WCF Service 开发的demo
http://blog.csdn.net/fangxinggood/article/details/6261431

源代码在这就不粘上来了,上面的链接中详细的说明,在开发中需要下载 WCF REST Starter Kit ,下载地址:
http://aspnet.codeplex.com/releases/view/24644
Json.Net的下载地址:
http://json.codeplex.com/releases/view/74287

MSDN官网的WCF REST Develope Guide
http://msdn.microsoft.com/zh-cn/library/ee391967.aspx



...全文
403 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyun1987 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fangxinggood 的回复:]
"在开发中需要下载 WCF REST Starter Kit"

在.net 4.0已经集成了,当然如果想用 HttpClient 的话可以下
[/Quote]
嗯。我现就用HttpClient来实现的
机器人 2011-10-09
  • 打赏
  • 举报
回复
"在开发中需要下载 WCF REST Starter Kit"

在.net 4.0已经集成了,当然如果想用 HttpClient 的话可以下
liuyun1987 2011-10-09
  • 打赏
  • 举报
回复
人气这么低?
机器人 2011-10-09
  • 打赏
  • 举报
回复
REST风格的WebApi最大特点是便于跨语言调用。
threenewbee 2011-10-09
  • 打赏
  • 举报
回复
事实上,不光WCF,ASP.NET MVC,以及现代主流的Web开发框架,都倡导RESTFul。

62,052

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧