.net 呼叫webservice介面
1.呼叫已有webservice,實現天氣查詢
2.建立一個簡單的webservice,實現服務介面呼叫
因為兩個例項在一個專案中呈現的,就綜合一點來記錄,為以後自己需要用時做準備。
首先,來看下專案的目錄結構
對於初學者來說,在vs2012環境中,大家有可能不知道Web References資料夾是如何來的,它是通過右擊專案,選擇其中的”新增服務引用“,如圖所示:
之後,得到”新增服務引用“的頁面,我也把圖截了下來,如圖:
再選擇”高階“按鈕,進入下圖
通過點選按鈕,系統會輸出使用者所填城市的天氣資訊。後臺程式碼如下:
View Code這樣,通過呼叫已有的天氣介面,就可以實現城市天氣的查詢了。
下面,我們再來說說,如何自己建立webservice,通過它來實現一些功能,首先,我們選中一個專案,右擊新建一個“Web服務”,如下圖所示:
完成建立以後,就會在專案檔案中出現“Service.asmx”檔案,我們在Service.asmx.cx中新增一個簡單的求和方法,程式碼如下:
namespace Web_Service { /// <summary> /// WebService1 的摘要說明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允許使用 ASP.NET AJAX 從指令碼中呼叫此 Web 服務,請取消註釋以下行。 // [System.Web.Script.Services.ScriptService] public class WebService1 : System.Web.Services.WebService { [WebMethod]public string HelloWorld() { return "Hello World"; } [WebMethod] public int GetSum(int a,int b) { return a+b; } } }
那麼,我們怎麼在其它專案中呼叫這個方法呢,其實這和剛才我們所說的,呼叫天氣的webservice是一個道理,首先,通過新增“web服務引用”將,你寫的webservice引用進來,我們需要注意的是其中有一處要我們填寫請求webservice的URL地址,我們該怎麼寫?其實呢,也很簡單,就是,你將Service.asms在瀏覽器中瀏覽的地址,如我的是:http://localhost:12197/Service.asmx。
引用完成後,我們通過程式碼來實現它,首先還是來看下執行後的效果圖:
最後,再貼上程式碼:
protected void Button1_Click(object sender, EventArgs e) { WebApplication1.localhost.WebService1 aa = new WebApplication1.localhost.WebService1(); this.Label1.Text = aa.GetSum(Convert.ToInt32(this.TextBox1.Text), Convert.ToInt32(this.TextBox2.Text)).ToString(); }
至此,要講的內容都講完了,希望對自己和初學的你有幫助,大神們就略過吧。
轉載自:http://www.cnblogs.com/peterpc/p/4628441.html