[C#] Web Service Server and Client (VS 2015)

話說最近在公司聽到一個之前沒用過的名詞Web Service。所以趁下班來玩一下...


這篇分成三個部分說明:
第一個IIS(都要用Web Service,當然要有網頁伺服器)
第二個Web Service的Server程式開發及發布(如何讓他人可以透過Web Service取得資料)
第三個Web Service的Client程式開發及發布 (如何取得Web Service的資料)

1.IIS設定

建立兩個資料夾,分別讓Server和Client發布用

IIS中將兩個資料夾設定為應用程式


2.建立Web Service Server
建立一個空的應用程式

專案上點選右鍵>新增>新增項目

選擇Web Service(中文版應該叫做Web 服務)

預設開啟的form當然就是傳說中的HelloWorld  <---默默地刪掉~~~沒有用

這個範例建立四個function(輸入皆為兩個整數變數,輸出分別為加、減、乘、除)
建立function的上方,每個function上方都要加上[WebMethod]

VS 的Debug模式執行後,跳出了剛剛我們所建立的四個function

點其中一個(Math_A:數值相加),會跳出兩個輸入的textbox,輸入完成後點選"叫用"

跳出產生後的結果,並以xml方式呈現。基本上Web Service的code就到此....結束


網站發行:點選專案右鍵>發行

VS 2015多了一堆支援Azure的選項,但目前我們用不到
點選Custom,並建立一個設定檔的名稱

Server和URL的部分輸入網頁伺服器的路徑,在此因為是本機所以設定Localhost
Site name的地方輸入IIS站台路徑,目前我們Web Service Server路徑為
Default Web Site/WS_Server
完成後點選Validate connect的按鈕,測試連線。完成後點選Publish進行網站發行

進入IIS所建立的網站測試畫面如下,與VS Debug的畫面一致

以上~~Server架設   搞定
接下來說明一下如何取得Web Service的資料

3. Web Service Client
建立一個空的專案

專案右鍵>新增>Service Reference(中文版應該是服務參考)

輸入Web Service之伺服器路徑並點選GO按鈕,系統將在下方列出Web Service之項目

建立一個WebForm,並在上面建立一些UI元件

最重要的程式碼如下,首先建立一個WSSopClient的物件(Class),然後就可以引用裡面的function,其他用法跟一般使用class沒什麼不同

一樣先用VS Debug模式測試
一樣進行網站發行,方式如Server一樣

直接在IIS的伺服器上測試網頁功能,無誤。

 WinForm相同作法

收工

留言

張貼留言

這個網誌中的熱門文章

[Excel]將圖片放置於儲存格中

[電腦軟體]偵測遠端電腦的網路 Port是否開啟

[軟體]AUTOCAD關於開啟圖面時,字型找不到,而要手動指定成 chineset.shx 字型檔問題