国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Webservice服務(wù)創(chuàng)建、調(diào)用筆記

2019-11-14 16:11:33
字體:
供稿:網(wǎng)友

引言  

  以前使用windows服務(wù),于是學(xué)習(xí)并記錄下來:windows服務(wù)的創(chuàng)建、安裝、調(diào)試全過程及引發(fā)的后續(xù)學(xué)習(xí)。現(xiàn)如今需要用到webservice,對此感覺到很困惑。經(jīng)過幾天的學(xué)習(xí)、查閱資料,終于大致搞清如何運用,至于它的根本原理,暫時還不能完全理解,以后有機會再詳細(xì)研究吧。

 

定義:  

  webservice是一個平臺獨立的,低耦合,自包含的、基于可編程可編程的應(yīng)用程序,可使用開放的xml標(biāo)準(zhǔn)來描述、發(fā)布、發(fā)現(xiàn)、協(xié)調(diào)和配置這些應(yīng)用程序,用于開發(fā)分布式的互操作的應(yīng)用程序。(百度定義)

  Web Service技術(shù), 能使得運行在不同機器上的不同應(yīng)用無須借助附加的、專門的第三方軟件或硬件, 就可相互交換數(shù)據(jù)或集成。依據(jù)Web Service規(guī)范實施的應(yīng)用之間, 無論它們所使用的語言、 平臺或內(nèi)部協(xié)議是什么, 都可以相互交換數(shù)據(jù)。Web Service是自描述、 自包含的可用網(wǎng)絡(luò)模塊, 可以執(zhí)行具體的業(yè)務(wù)功能。Web Service也很容易部署, 因為它們基于一些常規(guī)的產(chǎn)業(yè)標(biāo)準(zhǔn)以及已有的一些技術(shù),諸如的xml、HTTP。Web Service減少了應(yīng)用接口的花費。Web Service為整個企業(yè)甚至多個組織之間的業(yè)務(wù)流程的集成提供了一個通用機制。

   個人理解:webservice是一個獨立的平臺,是用xml來描述的,可以幫組不同平臺下的系統(tǒng)建立數(shù)據(jù)交互機制。比如:在一個很龐大的asp.net網(wǎng)站上創(chuàng)建一個webservice,公司內(nèi)部的其他部門開發(fā)的系統(tǒng)需要引用網(wǎng)站的一些數(shù)據(jù),那么在網(wǎng)站上面創(chuàng)建一個webservice,其他系統(tǒng)直接添加web服務(wù)即可調(diào)用網(wǎng)站上的一個數(shù)據(jù)或者是方法等等。

 

創(chuàng)建一個簡單的webservice:

講述碰到的第一個小問題:本人使用的visual studio2010,在新建項目時找不到web服務(wù)?

直接選擇.net4.0,可以選擇創(chuàng)建asp.net空模板,然后添加新項選擇web服務(wù)模板即可。此方法最簡單。還有:選擇.net2.0,,3.0,3.5,就可以選擇webservice模板了,之后需要.net4.0新特性,在項目屬性窗口或者頁窗口的Build選項卡中選擇.net4.0即可。

新建一個空的asp.net項目,添加webservice頁面,編寫:

namespace FirstWebservice{    /// <summary>    /// WebService1 的摘要說明    /// </summary>    [WebService(Namespace = "http://tempuri.org/")]    [WebServiceBinding(ConformsTo = Wsiprofiles.BasicPRofile1_1)]    [System.ComponentModel.ToolboxItem(false)]    // 若要允許使用 ASP.NET Ajax 從腳本中調(diào)用此 Web 服務(wù),請取消對下行的注釋。    // [System.Web.Script.Services.ScriptService]    public class WebService1 : System.Web.Services.WebService    {        [WebMethod(Description = "求和的方法")]        public double addition(double i, double j)        {            return i + j;        }        [WebMethod(Description = "求差的方法")]        public double subtract(double i, double j)        {            return i - j;        }        [WebMethod(Description = "求積的方法")]        public double multiplication(double i, double j)        {            return i * j;        }        [WebMethod(Description = "求商的方法")]        public double division(double i, double j)        {            if (j != 0)                return i / j;            else                return 0;        }       }}
View Code

至此創(chuàng)建了一個webservice,里面包含加減乘除4個方法。如下圖顯示:

 

Asp.net調(diào)用webservice:

下面創(chuàng)建一個asp.net項目調(diào)用webservice:

首先引用webservice,將服務(wù)的網(wǎng)站網(wǎng)址加入服務(wù)引用即可。添加服務(wù)引用界面如圖:

 

編寫調(diào)用的方法:

protected void Button1_Click(object sender, EventArgs e)        {            string selectFlag = selectOper.Value;            ServiceReference1.WebService1SoapClient web = new ServiceReference1.WebService1SoapClient();                      if (selectFlag.Equals("+"))            {                Result.Text = (web.addition(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();            }            else if (selectFlag.Equals("-"))            {                Result.Text = (web.subtract(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();            }            else if (selectFlag.Equals("*"))            {                Result.Text = (web.multiplication(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();            }            else if (selectFlag.Equals("/"))            {                Result.Text = (web.division(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();            }         }

在運行界面內(nèi),隨即選擇“-”號,最后得到的運算如下圖:

 

 

Winform調(diào)用webservice:

既然上面在介紹webservice時說了其是夸平臺的,那么創(chuàng)建一個winform系統(tǒng)調(diào)用webservice。同樣先添加webservice,

private void button1_Click(object sender, EventArgs e)        {            ServiceReference1.WebService1SoapClient web = new ServiceReference1.WebService1SoapClient();            this.txt3.Text = (web.multiplication(double.Parse(this.txt1.Text), double.Parse(this.txt2.Text))).ToString();        }

可以看出winform的調(diào)用和asp.net調(diào)用基本是相同的。在此也就沒有一一驗證,只是簡單的選擇“*”作為運算符,運行結(jié)果如下:

 

 

總結(jié):

  上文簡單描述了webservice的基本認(rèn)識,接著創(chuàng)建了一個相當(dāng)簡單的webservice,然后創(chuàng)建一個asp.net項目和winform系統(tǒng)對它進行調(diào)用,所有一切基本上完成了webservice的使用過程。大家平時看到的更高級的webservice,或者可以說是更為復(fù)雜的webservice吧,這些都是在最簡單的webservice基礎(chǔ)上增加的一些很復(fù)雜的業(yè)務(wù)邏輯,抽絲剝繭后還是基本的webservice應(yīng)用。

 

 

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 岳阳市| 云浮市| 邯郸县| 屏东市| 佳木斯市| 临沂市| 南部县| 响水县| 离岛区| 涿鹿县| 德江县| 红桥区| 阳城县| 孟州市| 德安县| 紫金县| 南宁市| 夹江县| 都江堰市| 新巴尔虎左旗| 霍林郭勒市| 平潭县| 白山市| 西平县| 宜兰县| 工布江达县| 万宁市| 南和县| 会理县| 肇源县| 龙州县| 娄烦县| 中超| 临西县| 奉贤区| 克东县| 罗平县| 永新县| 济源市| 健康| 云林县|