• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      用web api實(shí)現(xiàn)C#平臺(tái)的分布式開發(fā)

      2020-04-24 14:50:40謝振華
      電腦知識(shí)與技術(shù) 2020年5期
      關(guān)鍵詞:分布式

      摘要:分布式的web系統(tǒng)可以看成一個(gè)分布在局域網(wǎng)上的web集群系統(tǒng)。企業(yè)所有的復(fù)雜業(yè)務(wù)本來可以部署在一臺(tái)web服務(wù)器之上,但為了降低企業(yè)運(yùn)營(yíng)成本,我們需要將復(fù)雜業(yè)務(wù)細(xì)分成不同的功能模塊,分別部署到不同的web服務(wù)器之上。這些不同的web服務(wù)器形成一個(gè)分布式的web系統(tǒng),這個(gè)分布式web系統(tǒng)在外部看來它和一個(gè)web系統(tǒng)沒有任何區(qū)別。在這個(gè)分布式的web系統(tǒng)里,不同web系統(tǒng)之間要互相分工協(xié)作,共同完成企業(yè)內(nèi)部用戶和外部用戶的web請(qǐng)求處理。Web api作為web分布式系統(tǒng)的主要技術(shù)之一,將先從概述開始介紹web api技術(shù)及其特點(diǎn),然后從web api技術(shù)原理來介紹web api技術(shù)本質(zhì),最后以C#平臺(tái)為例,來介紹web api的開發(fā)過程。

      關(guān)鍵詞:分布式;web api

      中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1009-3044(2020)05-0089-01

      開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼cOSID):

      1 Web api技術(shù)概述

      Web api是進(jìn)行網(wǎng)絡(luò)服務(wù)的接口技術(shù),通過該接口技術(shù)可以實(shí)現(xiàn)數(shù)據(jù)傳輸,存儲(chǔ)服務(wù)、消息服務(wù)、計(jì)算等服務(wù),利用這些服務(wù)可以開發(fā)出強(qiáng)大功能的分布式的web應(yīng)用。簡(jiǎn)單來說,我們可以做前后端分離的項(xiàng)目,前端和后端通過url連接,進(jìn)行數(shù)據(jù)傳輸。復(fù)雜來說,我們可以做服務(wù)器之間的服務(wù)調(diào)用,以u(píng)rl形式的訪問,進(jìn)行數(shù)據(jù)傳輸,我們可以開發(fā)強(qiáng)大功能的分布式web應(yīng)用。

      2 Web api技術(shù)原理

      服務(wù)器可以通過web api向請(qǐng)求者發(fā)送json格式的數(shù)據(jù),請(qǐng)求者可以是分布式服務(wù)器中的一臺(tái)服務(wù)器,也可以是手機(jī)app終端等等。請(qǐng)求者可以采用http協(xié)議或者socket協(xié)議發(fā)送請(qǐng)求,服務(wù)器接收到請(qǐng)求,對(duì)請(qǐng)求進(jìn)行參數(shù)解析,然后調(diào)用相應(yīng)的接口,將獲得的數(shù)據(jù)發(fā)送給請(qǐng)求者,如下圖1所示:

      上圖中,詳細(xì)描述了web api的工作過程,請(qǐng)求者通過http協(xié)議發(fā)送請(qǐng)求,服務(wù)器對(duì)request對(duì)象的url和參數(shù)進(jìn)行解析,然后調(diào)用相應(yīng)的web api,web api然后調(diào)用業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層調(diào)用數(shù)據(jù)訪問層,數(shù)據(jù)訪問層調(diào)用數(shù)據(jù)庫(kù),然后數(shù)據(jù)依次返回,web api然后將Json格式的數(shù)據(jù)返回給請(qǐng)求者。

      3 C#平臺(tái)實(shí)現(xiàn)web api的開發(fā)

      在這里,我們采用visual studio開發(fā)工具進(jìn)行C# web系統(tǒng)的開發(fā)環(huán)境。在visual studio開發(fā)工具中,提供了專門的模塊,可以直接創(chuàng)建一個(gè)web api。在這里以商品的增刪改查為例,來完成web api的開發(fā),核心偽代碼如下:

      3.1 配置web api

      public class GoodsControUer: ApiControjler{

      GoodsService goodsService= new goodsService0;

      public Goods fmdGoodsByName (String name){

      return goodService.findGoodsBvName(name)

      public int deleteGoodsByld(int id){

      return goodService.deleteGoodsByld (id)

      public int insertGoods(Goods goods){

      return goodService.insertGoods(goods)

      public int updateGoodsByld (Goods goods){

      goodService.updateGoodsByld(goods)

      】】

      3.2 配置Web API路由及返回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請(qǐng)求,調(diào)用類中findGoodsByName的方法。其他操作,采用相似的url請(qǐng)求,調(diào)用類中的不同的web api方法,獲得相應(yīng)的Json格式數(shù)據(jù)。

      4 結(jié)束語

      本文通過對(duì)web api的概念,原理和應(yīng)用等各方面的介紹,我們掌握了如何在web項(xiàng)目中創(chuàng)建一個(gè)對(duì)外的web api服務(wù)器技術(shù)。該服務(wù)可以讓同平臺(tái)的web項(xiàng)目訪問,也可以讓異構(gòu)平臺(tái)的web項(xiàng)目訪問,因此web api技術(shù)可以在分布式web系統(tǒng)之間進(jìn)行數(shù)據(jù)共享。既然可以實(shí)現(xiàn)了平臺(tái)之間的數(shù)據(jù)共享,那么我們就可以把不同的功能進(jìn)行分解,部署在不同的服務(wù)器上,進(jìn)而可以實(shí)現(xiàn)web項(xiàng)目的分布式部署。

      參考文獻(xiàn):

      [1]王仲洲,楊曉洪,王劍平,等.基于REST風(fēng)格的WEB API架構(gòu)研究[J].微處理機(jī),2016,37(5):52-55.

      [2]張爾喜,先曉兵,王雪鋒.基于WebAPl的移動(dòng)端學(xué)生綜合服務(wù)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件工程,2017,20(10):40-42.

      [3]廖治凱.基于WebApi和類WebApp的畢業(yè)論文管理系統(tǒng)[Jl.科技展望,2017,27(24):31.

      [4]王佳琪.基于J2EE架構(gòu)的分布式企業(yè)級(jí)Web應(yīng)用研究[J].計(jì)算機(jī)產(chǎn)品與流通,2018(10):27.

      【通聯(lián)編輯:謝媛媛】

      收稿日期:2019-12-15

      基金項(xiàng)目:湖南省教育廳科學(xué)研究課題之一《基于分布式的web系統(tǒng)架構(gòu)設(shè)計(jì)》

      作者簡(jiǎn)介:謝振華(1981-),男,湖北松滋人,副教授,大學(xué)本科,研究方向?yàn)榫W(wǎng)站開發(fā)、網(wǎng)絡(luò)工程等。

      猜你喜歡
      分布式
      基于RTDS的分布式光伏并網(wǎng)建模研究
      湖南電力(2022年3期)2022-07-07 08:56:58
      光伏:從嚴(yán)控制發(fā)展規(guī)模 分布式限定10GW
      能源(2018年5期)2018-06-15 08:55:58
      分布式光伏發(fā)展的四大矛盾
      能源(2017年7期)2018-01-19 05:05:03
      分布式光伏熱錢洶涌
      能源(2017年10期)2017-12-20 05:54:07
      基于預(yù)處理MUSIC算法的分布式陣列DOA估計(jì)
      分布式光伏:爆發(fā)還是徘徊
      能源(2017年5期)2017-07-06 09:25:54
      基于點(diǎn)估計(jì)法的分布式電源的配置優(yōu)化
      一種用于微電網(wǎng)分布式發(fā)電的新型Buck-Boost逆變器
      基于DDS的分布式三維協(xié)同仿真研究
      西門子 分布式I/O Simatic ET 200AL
      嵊泗县| 长子县| 微博| 九龙坡区| 自治县| 鹤岗市| 高陵县| 治县。| 米脂县| 本溪市| 黑河市| 白山市| 磐石市| 衡东县| 石狮市| 仁布县| 泾川县| 江阴市| 蒲江县| 临西县| 尼勒克县| 安仁县| 大渡口区| 武平县| 延长县| 泽州县| 容城县| 石首市| 武城县| 南丹县| 虹口区| 孟村| 鞍山市| 大厂| 博白县| 宜良县| 贵州省| 垫江县| 遂平县| 汪清县| 保德县|