资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
BF-TECH 4.0 DNET 软件开发工程师高薪就业品牌课程 版权所有:北风网,使用WCF搭建企业通用架构 讲师:石曼迪,第八章:RestFul风格WCF架构,目录,RESTful的目标 RESTFUL API,何为 REST,何为 REST,REST + SOAP (85:15),REST,何为 REST,REST 是设计基于命名资源 例如,以 Uniform Resource Locators(URL)、Uniform Resource Identifiers(URI)和 Uniform Resource Names(URN)的形式 而非消息的松耦合 Web 应用程序的一种风格。REST 巧妙地借助已经验证过的成功的 Web 基础设施 HTTP。换句话说,REST 利用了 HTTP 协议的某些方面,例如 GET 和 POST 请求。这些请求可以很好地映射到标准业务应用程序需求,诸如创建、读取、更新和删除(CRUD),Restful和Http协议,由于 REST 最终归结为命名资源,API 就成为了一系列 URI 模式,并且与资源相关联的行为要通过标准 HTTP 命令调用。 正如您可以看到的,客户的请求很好地映射到了 CRUD。并且如您在 表 1 中所了解到的一样,REST 分别通过 HTTP 的POST、GET、PUT 以及 DELETE 请求来支持 CRUD。,Restful背景,WCF 4.0 其新功能之一就是 WCF 更容易以 REST API 来呈现,在 WCF 3.5 中的 WebGetAttribute 与 WebInvokeAttribute 中的 UriTemplate 参数原本不支持 REST URL 格式,为了 REST 功能,微软还特意发布了 WCF REST Starter Kit 组件,让开发人员可以利用 WCF 3.5 开发真正 REST-based 的应用程序,由 URL 对应到指定的 Service Contract 中的 Operation Contract,在 WCF 4.0 中,WCF 的核心已经融入了 REST Starter Kit 中的 URL 引擎,在 WebGetAttribute 与 WebInvokeAttribute 已经可以支持 REST 的功能,Windows Azure 许多服务的 REST API 就是利用 WCF 来开发的。,RESTFul的架构约束,REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。 特点: 客户端-服务器 无状态 缓存 统一接口 分层系统 按需代码,Restful的五条关键原则,为所有“事物”定义ID (URI) 将所有事物链接在一起 使用标准方法 资源多重表述 无状态通信,为什么要基于API开发,为什么要基于API开发,WEB是开放的时代,twitter的30W个客户端构造了操作壁垒,让google,facebook无法追赶; API让web,手机客户端,桌面多种操作成为可能,程序员分工更加明确,切降低了开发成本; 软件开发依赖解耦 让编程语言发挥各自的优势。,客户端实现,GET: Tasks/id 查询 POST:Tasks/Add 提交 PUT: Tasks/id 更新 DELETE:Tasks/id删除,var client = new HttpClient(); var response = client.Delete(strUrl); var response = client.Get(strUrl); var response = client.Post(strUrl, GetContent(task); var response = client.Put(strUrl, GetContent(task);,服务端设置,指定传输类型,参数模板和操作,WebInvoke(UriTemplate = “Tasks/id“, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, Method = “DELETE“),现场编程,自定义WCF的Rest风格,安全验证,和现在 Windows Auzer Access Control 的原型一样。 只不过这个 Authoriztion 的服务是专门的Services罢了。基本步骤如下: 1. 客户端先从发布令牌的服务获取令牌; 2. 客户端拿着令牌提交到现在的服务; 3.服务端将客户端令牌拿到发布令牌的服务上校验。,异步调用,异步调用原理,client.GetAsync(); response.Content.ReadAsAsync().Result,Microsoft.Http.dll 和 Microsoft.Http.Extensions.dll,它们是微软提供的REST客户端包。可以更加方便地操作 HttpRequest/Response,你可以在这里下到: http:/aspnet.codeplex.com/releases/view/24644,使用RestSharp,总结,Restful的特点和使用 异步调用,WCF视频教程:使用WCF搭建企业通用架构 学习地址:http:/www.ibeifeng.com/goods-423.html,欢迎访问我们的官方网站 www.ibeifeng.com,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号