下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用webapi实现C#平台的分布式开发
Summary:分布式的web系统可以看成一个分布在局域网上的web集群系统。企业所有的复杂业务本来可以部署在一台web服务器之上,但为了降低企业运营成本,我们需要将复杂业务细分成不同的功能模块,分别部署到不同的web服务器之上。这些不同的web服务器形成一个分布式的web系统,这个分布式web系统在外部看来它和一个web系统没有任何区别。在这个分布式的web系统里,不同web系统之间要互相分工协作,共同完成企业内部用户和外部用户的web请求处理。Webapi作为web分布式系统的主要技术之一,将先从概述开始介绍webapi技术及其特点,然后从webapi技术原理来介绍webapi技术本质,最后以C#平台为例,来介绍webapi的开发过程。Key:分布式;webapi:TP311:A:1009-3044(2020)05-0089-01开放科学(资源服务)标识码cOSID):1Webapi技术概述Webapi是进行网络服务的接口技术,通过该接口技术可以实现数据传输,存储服务、消息服务、计算等服务,利用这些服务可以开发出强大功能的分布式的web应用。简单来说,我们可以做前后端分离的项目,前端和后端通过url连接,进行数据传输。复杂来说,我们可以做服务器之间的服务调用,以url形式的访问,进行数据传输,我们可以开发强大功能的分布式web应用。2Webapi技术原理服务器可以通过webapi向请求者发送json格式的数据,请求者可以是分布式服务器中的一台服务器,也可以是手机app终端等等。请求者可以采用http协议或者socket协议发送请求,服务器接收到请求,对请求进行参数解析,然后调用相应的接口,将获得的数据发送给请求者,如下图1所示:上图中,详细描述了webapi的工作过程,请求者通过http协议发送请求,服务器对request对象的url和参数进行解析,然后调用相应的webapi,webapi然后调用业务逻辑层,业务逻辑层调用数据访问层,数据访问层调用数据库,然后数据依次返回,webapi然后将Json格式的数据返回给请求者。3C#平台实现webapi的开发在这里,我们采用visualstudio开发工具进行C#web系统的开发环境。在visualstudio开发工具中,提供了专门的模块,可以直接创建一个webapi。在这里以商品的增删改查为例,来完成webapi的开发,核心伪代码如下:3.1配置webapipublicclassGoodsControUer:ApiControjler{GoodsServicegoodsService=newgoodsService0;publicGoodsfmdGoodsByName(Stringname){returngoodService.findGoodsBvName(name))publicintdeleteGoodsByld(intid){returngoodService.deleteGoodsByld(id))publicintinsertGoods(Goodsgoods){returngoodService.insertGoods(goods))publicintupdateGoodsByld(Goodsgoods){goodService.updateGoodsByld(goods)】】3.2配置WebAPI路由及返回json格式config.Formatters.Remove(config.Formatters.XmIFormatter);config.MapHttpAttributeRoutes0;config.Routes.MapHttpRoute(name:"DefaultApi",routeTemplate:“api/{controller)/{action}/{id)”,defaults:new(id=RouteParameter.Optional));通过http://ip/api/Goods/findGoodsByName/name的url请求,调用类中findGoodsByName的方法。其他操作,采用相似的url请求,调用类中的不同的webapi方法,获得相应的Json格式数据。4结束语本文通过对webapi的概念,原理和应用等各方面的介绍,我们掌握了如何在web项目中创建一个对外的webapi服务器技术。该服务可以让同平台的web项目访问,也可以让异构平台的web项目访问,因此webapi技术可以在分布式web系统之间进行数据共享。既然可以实现了平台之间的数据共享,那么我们就可以把不同的功能进行分解,部署在不同的服务器上,进而可以实现web项目的分布式部署。Reference:[1]王仲洲,杨晓洪,王剑平,等.基于REST风格的WEBAPI架构研究[J].微处理机,2016,37(5):52-55.[2]张尔喜,先晓兵,王雪锋.基于WebAPl的移动端学生综合服务平台设计与实现[J].软件工程,2017,20(10):40-42.[3]廖治凱.基于Web
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《FZT 64001-2020机织黑炭衬》
- 深度解析(2026)《FZT 42001-2008柞蚕药水丝》
- 深度解析(2026)《FZT 12022-2019涤纶与粘纤混纺色纺纱线》
- 《JBT 8507-1996高频塑料热合机》专题研究报告
- 2026年高考物理复习(习题)第十三章第1讲 分子动理论 内能
- 2026年孝感市孝南区社区工作者招聘考试模拟试题及答案解析
- 自适应优化器改进
- 2026年淮北市杜集区城管协管招聘笔试备考题库及答案解析
- 胆囊癌病理学特点分析
- 河北大学版六年级全册第1阶段 选题计划教学设计
- 2026年合肥建设投资控股集团有限公司校园招聘考试模拟试题及答案解析
- 2026青海西宁市公安局城西公安分局招聘警务辅助人员55人笔试备考试题及答案解析
- 2026年上海浦东公安分局文员招聘288人考试备考试题及答案解析
- 国家开放大学2026年春《形势与政策》形考大作业参考答案(三)
- 第11课《山地回忆》课件(内嵌音视频) 2025-2026学年统编版语文七年级下册
- 调味品公司采购管理制度
- 纸箱制造有害物质控制技术手册
- 环境监测数据质量管理制度-环境检测机构模版-2026版
- 《智慧养老护理实践指南(2025版)》
- 会阴护理技术指南
- 2026年台州职业技术学院单招职业适应性考试题库带答案详解ab卷
评论
0/150
提交评论