国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2020-04-24 14:50謝振華
電腦知識與技術 2020年5期
關鍵詞:分布式

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

關鍵詞:分布式;web api

中圖分類號:TP311 文獻標識碼:A

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

開放科學(資源服務)標識碼cOSID):

1 Web api技術概述

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

2 Web api技術原理

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

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

3 C#平臺實現(xiàn)web api的開發(fā)

在這里,我們采用visual studio開發(fā)工具進行C# web系統(tǒng)的開發(fā)環(huán)境。在visual studio開發(fā)工具中,提供了專門的模塊,可以直接創(chuàng)建一個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請求,調(diào)用類中findGoodsByName的方法。其他操作,采用相似的url請求,調(diào)用類中的不同的web api方法,獲得相應的Json格式數(shù)據(jù)。

4 結(jié)束語

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

參考文獻:

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

[2]張爾喜,先曉兵,王雪鋒.基于WebAPl的移動端學生綜合服務平臺設計與實現(xiàn)[J].軟件工程,2017,20(10):40-42.

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

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

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

收稿日期:2019-12-15

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

作者簡介:謝振華(1981-),男,湖北松滋人,副教授,大學本科,研究方向為網(wǎng)站開發(fā)、網(wǎng)絡工程等。

猜你喜歡
分布式
基于RTDS的分布式光伏并網(wǎng)建模研究
基于預處理MUSIC算法的分布式陣列DOA估計
基于點估計法的分布式電源的配置優(yōu)化
一種用于微電網(wǎng)分布式發(fā)電的新型Buck-Boost逆變器
基于DDS的分布式三維協(xié)同仿真研究
西門子 分布式I/O Simatic ET 200AL
家庭分布式儲能的發(fā)展前景
第26屆IEEE并行及分布式處理國際會議