這篇文章主要為大家詳細介紹了C# 建立、部署和呼叫WebService的簡單範例,具有一定的參考價值,有興趣的小夥伴們可以參考一下
webservice 可以用於分散式應用程式之間的交互,和不同程式之間的交互。
概念性的東西就不說太多,下面開始建立一個簡單的webservice的範例。這裡我用的是Visual Studio 2015開發工具。
首先建立一個空的網路應用程式。
然後滑鼠右鍵點選項目,選擇 新增>新項目。
選擇Web服務,點選新增。一個簡單的webservice就創建完成了,接下來寫兩個簡單的方法。
PS:如果方法需要透過webservice的位址進行調用,那就必須在方法上面打上 [WebMethod] 的特性標籤,否則是無法透過webservice存取到的。 Description 是方法的描述。
然後運行一下,就可以看到上圖的方法了,訪問webservice 就可以根據地址列裡的地址進行調用webservice 的方法了。
但是這樣如何讓其他應用程式透過網路存取呢?那就需要部署到伺服器了。
下面的示範我是部署在本機的,不過伺服器部署也是一樣的。網站部署需要用到 IIS,而我這裡是已經開啟的,如果沒有開啟的話,可以透過 開始功能表 > 控制面板 > 程式 > 啟用或關閉 windows 功能 開啟。具體的可以上網搜尋一下,這裡就不做過多的介紹。
開啟 IIS 之後,先把剛才的 webservice 發佈之後,然後開啟 IIS 管理員。
選擇自訂,然後輸入設定檔名稱,然後點擊下一步。
然後選擇發布的方式和發布的路徑,然後點擊下一步。
設定不用改,繼續下一步。然後點擊發布。
這樣就發布完成了,現在打開 IIS 管理器,然後選擇網站,點擊新增網站。
輸入網站的名稱、IP位址(本機可以不輸入IP位址)和端口,選擇檔案的路徑,然後點擊確定,網站就創建完成了。
當然,不一定就立刻可以使用了,這之中會出現很多的錯誤,以下是我碰到的一些錯誤和一些解決方法。
這個錯誤是因為檔案的存取權限不夠的問題。解決方法就是點選編輯權限。
然後選擇安全性欄,點選編輯。
然後點擊新增一個用戶,把權限設定為允許。或使用下面這種方法:
選擇網站,然後選取身份驗證,點擊基本設定。
選擇連接為。
然後選擇特定用戶,點擊設置,輸入本機的用戶名和密碼,點擊確定就可以了。然後可以點選測試設定看看效果。
這個錯誤的原因是安裝Framework v4.0之後,再啟用IIS,導致Framework沒有完全安裝。
解決方法就是:開始功能表> 命令提示字元(管理員),然後輸入並執行%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe - i 命令列。
這個問題的是因為,應用程式集區設定的原因,開始新網站的時候沒有選擇應用程式集區,預設為v2.0的版本,不支援Framework 4.5。
解決方法就是選擇應用程式集,然後改為v4.0的版本,管道模式設定為整合。
這個錯誤的原因是因為系統目錄下的Temp目錄無對應的權限所致。
解決方法就是進入 C磁碟 windows 目錄下的 Temp 目錄,右鍵屬性 > 安全列 > 編輯 > IIS_IUSRS 的權限設定為完全控制。
這個錯誤的原因是因為沒有設定網站的預設文件。
解決方法就是選取網站,點選預設文檔,然後新增一個預設的頁面,也就是應用程式的起始頁面。
然後,處理了眾多問題之後,總算是部署成功了。
接下來,就來個簡單的 webservice 的呼叫範例。
先新增一個控制台應用程序,然後右鍵引用,選擇新增服務引用。
點選高級,然後在彈出來的頁面點選 新增web引用。
在URL欄位輸入部署的網站位址,然後點選前往,就可以看到下面的方法內容了,然後輸入web引用名稱,點選新增引用。
引用添加完成,下面就開始呼叫webservice。
結果如下:
以上是如何用C# 建立、部署和呼叫WebService實例展示的詳細內容。更多資訊請關注PHP中文網其他相關文章!