服務器之家在以前介紹過關于c#創(chuàng)建、部署、調(diào)用webservice的教程,有興趣的可以參閱:.net c#創(chuàng)建webservice服務簡單實例。本文是通過實例讓大家更加詳細的了解流程,一起來學習下。
webservice 可以用于分布式應用程序之間的交互,和不同程序之間的交互。
概念性的東西就不說太多,下面開始創(chuàng)建一個簡單的webservice的例子。這里我用的是visual studio 2015開發(fā)工具。
首先創(chuàng)建一個空的web應用程序。
然后鼠標右鍵點擊項目,選擇 添加>新建項。
選擇web服務,點擊添加。一個簡單的webservice就創(chuàng)建完成了,接下來編寫兩個簡單的方法。
ps:如果方法需要通過webservice的地址進行調(diào)用,那就必須在方法上面打上 [webmethod] 的特性標簽,否則是無法通過webservice訪問到的。description 是方法的描述。
然后運行一下,就可以看到上圖的方法了,訪問 webservice 就可以根據(jù)地址欄里的地址進行調(diào)用 webservice 的方法了。
但是這樣如何讓其他應用程序通過網(wǎng)絡進行訪問呢?那就需要部署到服務器了。
下面的演示我是部署在本機的,不過服務器部署也是一樣的。網(wǎng)站部署需要用到 iis,而我這里是已經(jīng)開啟的,如果沒有開啟的話,可以通過 開始菜單 > 控制面板 > 程序 > 啟用或關閉 windows 功能 開啟。具體的可以網(wǎng)上搜索一下,這里就不做過多的介紹。
開啟 iis 之后,先把剛才的 webservice 發(fā)布之后,然后打開 iis 管理器。
選擇自定義,然后輸入配置文件名稱,然后點擊下一步。
然后選擇發(fā)布的方式和發(fā)布的路徑,然后點擊下一步。
設置不用改,繼續(xù)下一步。然后點擊發(fā)布。
這樣就發(fā)布完成了,現(xiàn)在打開 iis 管理器,然后選擇網(wǎng)站,點擊添加網(wǎng)站。
輸入網(wǎng)站的名稱、ip地址(本機可以不輸入ip地址)和端口,選擇文件的路徑,然后點擊確定,網(wǎng)站就創(chuàng)建完成了。
當然,并不一定就立馬可以使用了,這之中會出現(xiàn)很多的錯誤,下面是我碰到的一些錯誤和一些解決方法。
這個錯誤是因為文件的訪問權限不夠的問題。解決方法就是點擊編輯權限。
然后選擇安全欄,點擊編輯。
然后點擊添加一個用戶,把權限設置為允許。或者使用下面這種方法:
選擇網(wǎng)站,然后選中身份驗證,點擊基本設置。
選擇連接為。
然后選擇特定用戶,點擊設置,輸入本機的用戶名和密碼,點擊確定就可以了。然后可以點擊測試設置看看效果。
這個錯誤的原因是在安裝framework v4.0之后,再啟用iis,導致framework沒有完全安裝。
解決方法就是:開始菜單 > 命令提示符(管理員),然后輸入并執(zhí)行 %windir%\microsoft.net\framework\v4.0.30319\aspnet_regiis.exe -i 命令行。
這個問題的是因為,應用程序池設置的原因,開始新建網(wǎng)站的時候沒有選擇應用程序池,默認為v2.0的版本,不支持 framework 4.5。
解決方法就是選擇應用程序池,然后改為v4.0的版本,管道模式設置為集成。
這個錯誤的原因是由于系統(tǒng)目錄下的temp目錄無相應的權限所致。
解決方法就是進入 c盤 windows 目錄下的 temp 目錄,右鍵屬性 > 安全欄 > 編輯 > iis_iusrs 的權限設置為完全控制。
這個錯誤的原因是因為沒有配置網(wǎng)站的默認文檔。
解決方法就是選中網(wǎng)站,點擊默認文檔,然后添加一個默認的頁面,即應用程序的起始頁面。
然后,處理了眾多問題之后,總算是部署成功了。
接下來,就來個簡單的 webservice 的調(diào)用示例。
先添加一個控制臺應用程序,然后右鍵引用,選擇添加服務引用。
點擊高級,然后在彈出來的頁面點擊 添加web引用。
在url欄輸入部署的網(wǎng)站地址,然后點擊轉到,就可以看到下面的方法內(nèi)容了,然后輸入web引用名稱,點擊添加引用。
引用添加完成,下面就開始調(diào)用webservice。
結果如下:
原文鏈接:https://www.cnblogs.com/zzp0320/p/7883837.html