全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WCFREST工作总结范文 最近工作中学习使用了WCFREST,REST有很多好处高效简约面向资源而客户端调用也变得非常简单。REST入门的资料等大家可以去网上找这里主要分享下遇到的问题以及解决 一.环境准备 使用WCFREST可以先下载一个模版并大致预览 下载好这个模版后新建项目选择这个模版会默认帮我们生成一个CRUD的代码新手朋友可以用这个快速熟悉下REST风格的WCF. 这这里还给我们提供了一个很方便的功能help只需在我们的服务后面加上help就能显示服务的详情与介绍了 二.搭建RESTWCF服务 1.接口的实现 当我们的请求为Get时一般用来获取数据时使用WebGet而增加修改删除则使用WebInvoke里面的Method来决定使用POST或PUT等这里要注意下 Method里的一定要为大写POSTPUT等否则会出现错误405405不允许此方法对于请求所标识的资源,不允许使用请求行中所指定的方法。 我们在这里还可以通过ResponseFormat与RequestFormat来指定接受的参数与返回的参数格式 2.类继承接口这里先贴一部分最基础的CRUD3.Global里注册路由 用过mvc的朋友是不是发现这样写完后非常的像mvc呢 三.实现调用服务 1.实现get服务 很简单我们可以直接通过浏览器输入即可获得state为1的所有数据以json格式传输过来 rest风格的wcf使得我们不用再像以前一样客户端添加服务引用了没有了wsdl简洁了许多效率也提高了很多使得我们访问更容易 REST由于没有了代理而是发送请求我们的客户端可以是js访问如果是jquery只需$.get即可发送请求这里我主要说下C#的访问方式 通过WebClient方式这个类封装的比较好调用起来简单但由于封装的过多实现一些功能时则不太容易 通过WebRequest方式这个则比较灵活 上面两个是经常用到的两个类这里再推荐给大家一个是wcf工具里的其中一个专门用来访问rest服务也非常的简单 通过HttpClient这个也是微软开发的工具类而且在最新的.4.5里集成了进去 通过上面三个任意其中一个就可以实现提交了 但是这里有一个问题我们以前有代理类通过调用方法得到代理类可是现在呢我们没有类我们得到的是一串json格式的数据我们怎么把他变成像类一样的方便操作呢? 比如A公司发布了restwcf服务数据格式json公司B要调用A公司的服务以前ws或wcf都有代理可以生成代理类现在却得到的是json数据而我们还没有要反序列化的实体类 比如我现在想把得到的数据像表格一样的展示出来 有两种方法 1.对照json数据客户端新建个类然后通过反序列化把json反序列化为类对象 这样比较麻烦类少还可以要是多了则需要新建很多实体类更关键的是服务端的实体类更新了以前WCF或ws更新下服务即可而现在还要更新客户端实体类岂不是很麻烦? 所以推荐用下面的方法 2.将json反序列话为dynamic类型 json转换为dynamic类型起初我用的是第三方的json.经过尝试发现再把json转换为集合类型时总是出错如果有朋友知道怎么弄还望告知下。 后来经过尝试我采用了微软自带的JavaScriptSerializer下面展示代码。 使用方法很简单经过不论是序列化集合还是单个的都没有问题这个时间也会正常显示没有问题结果上面的代码就可以把接受的json类型展示为一个table了。 好了这个问题解决了可以上三种方式发送get请求了这个毕竟简单大家直接看代码。 可以看到第一个和第三个都是非常简单的这里要注意的是要注意编码问题因为传递的有中文会有乱码问题。 所以要注意编码问题再第二个里可以通过得到response.ContentType先得到编码这样就可以自动识别编码格式了 再说下HttpClient这个真正发送请求是在message.EnsureStatusIsSuessful这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省淄博市张店区2024-2025学年九年级上学期语文期末试卷(含答案)
- 新疆维吾尔自治区库尔勒市新疆兵团第二师华山中学2026届高一数学第一学期期末调研模拟试题含解析
- 肝胆胰外科胆结石症状解析及护理培训
- 肾结石预防及护理措施讲解
- 2025年超声多普勒胎儿监护仪项目提案报告范文
- 痴呆症状分析及护理方法详解培训
- 自愿者自我介绍
- 设备转让创业合同范本
- 营养饮食健康生活
- 礼品订购合同协议书
- DB42T 627-2010 中药材 黄连种苗
- 2025重庆市云阳县辅警考试试卷真题带答案
- 宫颈上皮内肿瘤变
- 南通市启东市医疗卫生单位招聘事业编制人员笔试真题2024
- 祖坟修缮协议书
- 初中数学教学随笔10篇
- 2018天成消防B-TG-TC5000火灾报警控制器消防联动控制器安装使用说明书
- 《智慧斑马线 高分子复合材料LED发光地砖》
- 房屋修缮加固工程施工组织设计方案
- 初三简单数学试卷
- 同等学力申硕(临床医学)考试题库(全真题库)
评论
0/150
提交评论