天天看點

Web Service 執行個體

今天看了一篇介紹Web Service的文章,于是按照操作步驟進行試驗,分享給大家;

Web Service的定義: 它是一種建構應用程式的普遍模型,可以在任何支援網絡通信的作業系統中實施運作;它是一種新的web

應用程式分支,是自包含、自描述、子產品化的應用,可以釋出、定位、通過web調用。Web Service是一個應用元件,它邏輯性的為其他應用程式提供資料與服務.各應用程式通過網絡協定和規定的一些标準資料格式(Http,XML,Soap)來通路Web Service,通過Web Service内部執行得到所需結果.Web Service可以執行從簡單的請求到複雜商務處理的任何功能。一旦部署以後,其他Web

Service應用程式可以發現并調用它部署的服務。

步驟:建立asmx檔案→添加web引用→執行個體化webservice→對web service 公用方法的調用

[WebMethod]

public int Add(int a,int b)

{

return a + b;

}

public int Subtract(int a, int b)

return a - b;

public int Multiple(int a, int b)

return a * b;

public int Divide(int a, int b)

return a / b;

在一個class裡面可以有多個[WebMethod],[WebMethod]屬性決定了,在引用的此web service時,是不是能被其class進行調用,是以要想被外部調用此方法,必須添加[WebMethod]屬性

添加好方法之後,可以直接右鍵asmx檔案,在【浏覽器中檢視】可以看到定義好的方法

我可以看到我們已經定義好的 方法,點選方法名稱可以對方法進行測試

點選調用按鈕就可以測試我們方法

結果以xml的形式展現出來

在我們的項目上添加引用web Service

--

并設定引用名稱,然後點選添加引用就ok了,此時我們可以看到webservice的網址

我們利用建立項目時給提供的預設首頁進行測試(Default.aspx)

首先需要對web service 進行執行個體化,以便調用裡面的方法

ServerSite.MathWebService ws = new ServerSite.MathWebService();

然後調用public方法,一下代碼使用button事件進行觸發的

protected void btnSubmit_Click(object sender, EventArgs e)

lblAdd.Text = ws.Add(int.Parse(TextBox1.Text.ToString()), int.Parse(TextBox2.Text.ToString())).ToString();

lblSub.Text = ws.Subtract(int.Parse(TextBox3.Text.ToString()), int.Parse(TextBox4.Text.ToString())).ToString();

lblMul.Text = ws.Multiple(int.Parse(TextBox5.Text.ToString()), int.Parse(TextBox6.Text.ToString())).ToString();

lblDiv.Text = ws.Divide(int.Parse(TextBox7.Text.ToString()), int.Parse(TextBox8.Text.ToString())).ToString();

調用web service的結果

總結:對web service的引用其實就是對所建asmx檔案的執行個體化,可以認為asmx檔案就是class檔案,然後對asmx檔案的public方法進行調用來完成我們的動作;調用web service的方法步驟:1

.用戶端要先将要調用的方法和參數以xml的方式進行表示,然後将xml檔案通過http協定傳送給web service 2.web service接收到xml檔案後對檔案進行解析,并調用指定的方法 3.web service 執行完方法之後,把結果同樣也用xml檔案的方式進行表示,然後通過http協定回傳給用戶端;(歡迎指正)

本文轉自shenzhoulong  51CTO部落格,原文連結:http://blog.51cto.com/shenzhoulong/739332,如需轉載請自行聯系原作者