wcf高级编程 ch8_restful风格wcf架构.ppt

上传人:小** 文档编号:89320729 上传时间:2019-05-23 格式:PPT 页数:20 大小:1.41MB
返回 下载 相关 举报
wcf高级编程 ch8_restful风格wcf架构.ppt_第1页
第1页 / 共20页
wcf高级编程 ch8_restful风格wcf架构.ppt_第2页
第2页 / 共20页
wcf高级编程 ch8_restful风格wcf架构.ppt_第3页
第3页 / 共20页
wcf高级编程 ch8_restful风格wcf架构.ppt_第4页
第4页 / 共20页
wcf高级编程 ch8_restful风格wcf架构.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《wcf高级编程 ch8_restful风格wcf架构.ppt》由会员分享,可在线阅读,更多相关《wcf高级编程 ch8_restful风格wcf架构.ppt(20页珍藏版)》请在金锄头文库上搜索。

1、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 应用程序的一种风格。RES

2、T 巧妙地借助已经验证过的成功的 Web 基础设施 HTTP。换句话说,REST 利用了 HTTP 协议的某些方面,例如 GET 和 POST 请求。这些请求可以很好地映射到标准业务应用程序需求,诸如创建、读取、更新和删除(CRUD),Restful和Http协议,由于 REST 最终归结为命名资源,API 就成为了一系列 URI 模式,并且与资源相关联的行为要通过标准 HTTP 命令调用。 正如您可以看到的,客户的请求很好地映射到了 CRUD。并且如您在 表 1 中所了解到的一样,REST 分别通过 HTTP 的POST、GET、PUT 以及 DELETE 请求来支持 CRUD。,Restf

3、ul背景,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 Start

4、er Kit 中的 URL 引擎,在 WebGetAttribute 与 WebInvokeAttribute 已经可以支持 REST 的功能,Windows Azure 许多服务的 REST API 就是利用 WCF 来开发的。,RESTFul的架构约束,REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。 特点: 客户端-服务器 无状态 缓存 统一接口 分层系统 按需代码,Restful的五条关键原则,为所有“事物”定义ID (URI) 将所有事物链接在一起 使用标准方法 资源多重表述 无状态通信,为什么要基于API开发,为什么要基

5、于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

6、(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风格,安全验证,和现在 Wi

7、ndows 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:/ 异步调用,WCF视频教程:使用WCF搭建企业通用架构 学习地址:http:/ ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号