1. 程式人生 > >.net WebService學習(一)

.net WebService學習(一)

 

 

 

 

 

 

 

 

Web service是一個基於可程式設計的web的應用程式,用於開發分散式的互操作的應用程式,也是一種web服務

WebService的特性有以下幾點:

1.使用XML(標準通用標記語言)來作為資料互動的格式。

2.跨平臺性,因為使用XML所以只要本地應用可以連線網路解析XML就可以實現資料交換,比如安卓、IOS、WindowsPhone等都可以實現對Web service的資料互動。

3.基於HTTP協議,直接跨越防火牆,通用型強;

下面使用Visual Studio 2013(其他VS版本亦是如此)來建立一個簡單Web service服務。

一、開啟Visual Studio->檔案->新建->網站

二、之後選擇ASP.NET空網站,再點選“確定”

 

 三、新建網站後你會看到解決方案管理器中看到一個web.config,待會我們可以通過配置這個檔案來實現瀏覽器對WebService的遠端呼叫。現在,右鍵解決方案中的專案名新增一個WebService專案。

四、之後,你可以在專案模版中找到Web服務(ASMX),新增

五、建立之後在APP_Code資料夾中建立一個WebService.cs檔案

在網站根目錄下會同時建立一個WebService.asmx檔案

這兩個檔案中WebService.cs負責邏輯部分,WebService.asmx提供服務部分。將來引用WebService服務時將直接引用WebService.asmx檔案來呼叫WebService服務,服務的執行部分就是WebService.cs檔案

六、此時執行網站:

七、現在開啟WebService.cs檔案來編輯邏輯部分實行一個簡單的《客戶端呼叫web服務實現一個簡單的加法運算,並返回值給客戶端運算結果》

 

在這裡我們可以看到我們寫的Hello方法可以呼叫了,我們單擊進入這個方法進入呼叫除錯頁面:

在這裡我們可以看到我們寫的Compute方法可以呼叫了,我們單擊進入這個方法進入呼叫除錯頁面:

輸入引數,我們寫的是一個簡單的加法運算,引數便是我們寫的Compute方法的引數a和b,我們輸入兩個整數點選呼叫,出現如下結果:

下面是web服務返回的結果,其中133就是Compute引數a+b返回的結果:

1 <?xml version="1.0" encoding="UTF-8"?> 2 <string xmlns="http://tempuri.org/">133</string>

 到這裡,以後我們想要呼叫一個web服務就可以通過以上方式把客戶端從伺服器獲取資料,訪問:"主機名/web服務名.asmx"就可以呼叫了。

得到的資料是個XML,所以客戶端得到資料後需要客戶端解析XML檔案。

注意:以上建立在瀏覽器呼叫的web服務僅供本地計算機除錯使用,需要配置web.config(之前提到過)才能實現遠端呼叫除錯

如果不配置,在遠端呼叫會出現:測試窗體只能用於來自本地計算機的請求解決 的問題。

如需遠端呼叫可以參考一下方法:

在網站的解決方案的下方找到web.config

 

<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
<system.web>

配置之後,就可以在遠端通過瀏覽器來呼叫webservice.asmx服務了,開發測試之後,為了安全,一定把該配置去掉!