文章标签 ‘RESTful’

[转载]WCF RESTful服务的Google Protocol Buffers超媒体类型 – 张善友 – 博客园. Protocol Buffers 是在一个很理想的结构化数据的语言中立的序列化格式。你可以考虑一下XML或JSON,但更轻,更小的协议缓冲区。 这种格式的广应用于谷歌不同的系统之间交换数据。 由于其结构化数据的最佳表现,protocol buffers 是一个代表RESTful服务处理的数据很好的选择。要遵循REST的原则, protocol buffers 应作为一个新的超媒体类型的代表。 在当前版本(.NET 4) 的Windows通讯基础(WCF),包含一个新的媒体类型,需要相当数量的努力。 幸运的是,新版本的WCF HTTP堆栈,使媒体类型的WCF编程模型的一等公民,大家可以Glenn Block’s 博客去了解更详细的内容。推荐大家假期可以看下这本书《REST实战》http://book.douban.com/subject/6854551/ 下面我们来介绍如何使用Google Protocol Buffers,只定义一个超媒体类型 ProtoBufferFormatter: 自 定义超媒体类型是通过创建自定义的MediaTypeFormatter,实现OnWritetoStream() 和 OnReadFromStream() 方法进行序列化和反序列化处理。人们经常认为媒体类型只是在服务端使用,但是它用来在客户端控制序列化和反序列化的要求,下图显示了一个HTTP 请求/响应和媒体类型格式化扮演的角色: 这个例子我们使用入门:构建简单的Web API 的代码和WCF Web API Preview 6。使用的媒体类型是application/x-protobuf ,REST服务的核心原则就是服务器和客户端之间的松耦合性,客户端需要知道书签的URI,但不应该知道任何其他的URI的知识,但是客户端必须知道链接关系。 下面的代码是自定义的ProtoBufferFormatter,构造函数里指明了支持的媒体类型 application/x-protobuf。 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Net.Http.Formatting; [...]

2012年1月26日18:40 评论关闭

[转载]RESTful routing in ASP.NET MVC – CodeProject. Download sample – 142 KB Introduction This sample application demonstrates how to use the SimplyRestfulRouteHandler to provide a RESTful approach to client-server communication. The SimplyRestfulRouteHandler is included in the MVC Contrib project, which extends the functionality of the ASP.NET MVC framework. Background MvcContrib is packed with quite a [...]

2011年2月19日16:31 评论关闭

[转载]InfoQ: WCF的未来是RESTful. Windows通信基础(WCF)的产品经理,Glenn Block在主题为“WCF,Evolving for the Web”的在线研讨会上表示,微软面向服务应用的构建框架将进行根本性的重构,新的架构将以HTTP为中心。 在这次在线会议的开始,Block总结了业界的当前趋势: 向基于云的计算转变 SOAP逐渐淡出 浏览器运行于各类设备之上日渐盛行 REST采纳的增长 类似OAuth、WebSocket这样标准的出现 他表示,WCF的当前架构在很大程度上是基于SOAP的,如下图示: WCF的一个关键特性是,在相同编程模型下支持多种传输协议(HTTP、TCP、命名管道)。遗憾的是,一旦触及HTTP,它的大量好处(伸缩性、 内容协商)就消失了,原因在于WCF只是把它当作一种传输手段。因此,Block期望将支持HTTP的WCF视为一种具备简单灵活编程模型的一流应用协 议。如下图示: HTTP是在.NET 3.5中引进的,这让创建通过HTTP访问的服务成为可能,但是“没有办法访问所有HTTP必须提供的东西,它是一种非常扁平的模型,面向RPC,但 Web不是这样的。在Block看来,Web是一种非常丰富的资源集”。与其将当前的WCF改造成可以在HTTP之上正常工作,Block认为WCF应该 “以HTTP的思想,使用RESTful方式”重新构架。 WCF将包含助手API,完成预处理HTTP请求或响应、解析和操纵所有参数、将HTTP信息封装到对象中以供未来处理之用。只要愿意,用户就可以 利用它将自己从直接处理HTTP内部细节的痛苦中解脱出来。这个特性还将提供一种插件功能,主要针对像JSON, Atom, OData等这样的数据格式的媒体类型格式化器。WCF将内置部分格式的支持,但是用户能够加入自己的格式化器。 新的WCF已经正在构建当中,Block演示了使用它的样例代码,但他表示这个特性集和WCF将来的样子尚未最终定案。他们不久将在CodePlex上发布框架的初始版本,让社区能够进行测试和反馈,让WCF的未来逐渐成型。更多的细节将在PDC 2010大会期间得到公开。 更新 我们向Glenn Block问起了其他协议,尤其是SOAP,的未来状况。他的答复是,WCF将完全支持现有的技术栈,当前的发展旨在将WCF演变成完全支持HTTP,而又不宣布放弃WCF目前已经取得的成果。 现在,WCF社区站点搭建完成,所有对WCF演变感兴趣的人们可以通过它了解WCF的近况。 在PDC 2010大会上,Glenn Block在WCF未来和它与微软在SOA技术中的当前投资之间的关系里给出了更多细节。 查看英文原文: The Future of WCF Is RESTful [Updated]

2010年11月5日10:50 评论关闭
备案信息:冀ICP备10007948号