C# 創(chuàng)建、部署和調(diào)用WebService簡單示例
webservice 可以用于分布式應(yīng)用程序之間的交互,和不同程序之間的交互。
概念性的東西就不說太多,下面開始創(chuàng)建一個簡單的webservice的例子。這里我用的是Visual Studio 2015開發(fā)工具。
首先創(chuàng)建一個空的Web應(yīng)用程序。
然后鼠標(biāo)右鍵點(diǎn)擊項目,選擇 添加>新建項。
選擇Web服務(wù),點(diǎn)擊添加。一個簡單的webservice就創(chuàng)建完成了,接下來編寫兩個簡單的方法。
PS:如果方法需要通過webservice的地址進(jìn)行調(diào)用,那就必須在方法上面打上 [WebMethod] 的特性標(biāo)簽,否則是無法通過webservice訪問到的。Description 是方法的描述。
然后運(yùn)行一下,就可以看到上圖的方法了,訪問 webservice 就可以根據(jù)地址欄里的地址進(jìn)行調(diào)用 webservice 的方法了。
但是這樣如何讓其他應(yīng)用程序通過網(wǎng)絡(luò)進(jìn)行訪問呢?那就需要部署到服務(wù)器了。
下面的演示我是部署在本機(jī)的,不過服務(wù)器部署也是一樣的。網(wǎng)站部署需要用到 IIS,而我這里是已經(jīng)開啟的,如果沒有開啟的話,可以通過 開始菜單 > 控制面板 > 程序 > 啟用或關(guān)閉 windows 功能 開啟。具體的可以網(wǎng)上搜索一下,這里就不做過多的介紹。
開啟 IIS 之后,先把剛才的 webservice 發(fā)布之后,然后打開 IIS 管理器。
選擇自定義,然后輸入配置文件名稱,然后點(diǎn)擊下一步。
然后選擇發(fā)布的方式和發(fā)布的路徑,然后點(diǎn)擊下一步。
設(shè)置不用改,繼續(xù)下一步。然后點(diǎn)擊發(fā)布。
這樣就發(fā)布完成了,現(xiàn)在打開 IIS 管理器,然后選擇網(wǎng)站,點(diǎn)擊添加網(wǎng)站。
輸入網(wǎng)站的名稱、IP地址(本機(jī)可以不輸入IP地址)和端口,選擇文件的路徑,然后點(diǎn)擊確定,網(wǎng)站就創(chuàng)建完成了。
當(dāng)然,并不一定就立馬可以使用了,這之中會出現(xiàn)很多的錯誤,下面是我碰到的一些錯誤和一些解決方法。
這個錯誤是因?yàn)槲募脑L問權(quán)限不夠的問題。解決方法就是點(diǎn)擊編輯權(quán)限。
然后選擇安全欄,點(diǎn)擊編輯。
然后點(diǎn)擊添加一個用戶,把權(quán)限設(shè)置為允許?;蛘呤褂孟旅孢@種方法:
選擇網(wǎng)站,然后選中身份驗(yàn)證,點(diǎn)擊基本設(shè)置。
選擇連接為。
然后選擇特定用戶,點(diǎn)擊設(shè)置,輸入本機(jī)的用戶名和密碼,點(diǎn)擊確定就可以了。然后可以點(diǎn)擊測試設(shè)置看看效果。
這個錯誤的原因是在安裝Framework v4.0之后,再啟用IIS,導(dǎo)致Framework沒有完全安裝。
解決方法就是:開始菜單 > 命令提示符(管理員),然后輸入并執(zhí)行 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i 命令行。
這個問題的是因?yàn)?,?yīng)用程序池設(shè)置的原因,開始新建網(wǎng)站的時候沒有選擇應(yīng)用程序池,默認(rèn)為v2.0的版本,不支持 Framework 4.5。
解決方法就是選擇應(yīng)用程序池,然后改為v4.0的版本,管道模式設(shè)置為集成。
這個錯誤的原因是由于系統(tǒng)目錄下的Temp目錄無相應(yīng)的權(quán)限所致。
解決方法就是進(jìn)入 C盤 windows 目錄下的 Temp 目錄,右鍵屬性 > 安全欄 > 編輯 > IIS_IUSRS 的權(quán)限設(shè)置為完全控制。
這個錯誤的原因是因?yàn)闆]有配置網(wǎng)站的默認(rèn)文檔。
解決方法就是選中網(wǎng)站,點(diǎn)擊默認(rèn)文檔,然后添加一個默認(rèn)的頁面,即應(yīng)用程序的起始頁面。
然后,處理了眾多問題之后,總算是部署成功了。
接下來,就來個簡單的 webservice 的調(diào)用示例。
先添加一個控制臺應(yīng)用程序,然后右鍵引用,選擇添加服務(wù)引用。
點(diǎn)擊高級,然后在彈出來的頁面點(diǎn)擊 添加web引用。
在URL欄輸入部署的網(wǎng)站地址,然后點(diǎn)擊轉(zhuǎn)到,就可以看到下面的方法內(nèi)容了,然后輸入web引用名稱,點(diǎn)擊添加引用。
引用添加完成,下面就開始調(diào)用webservice。
結(jié)果如下:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。
欄 目:C#教程
下一篇:C#中計時器的簡單實(shí)現(xiàn)方法示例
本文標(biāo)題:C# 創(chuàng)建、部署和調(diào)用WebService簡單示例
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5762.html
您可能感興趣的文章
- 01-10winform實(shí)現(xiàn)創(chuàng)建最前端窗體的方法
- 01-10C#實(shí)現(xiàn)打開畫圖的同時載入圖片、最大化顯示畫圖窗體的方法
- 01-10C#動態(tài)創(chuàng)建button的方法
- 01-10深入淺出23種設(shè)計模式
- 01-10winform創(chuàng)建不規(guī)則窗體的方法
- 01-10C#動態(tài)創(chuàng)建Access數(shù)據(jù)庫及密碼的方法
- 01-10C#實(shí)現(xiàn)在啟動目錄創(chuàng)建快捷方式的方法
- 01-10C#禁止textbox復(fù)制、粘貼、剪切及鼠標(biāo)右鍵的方法
- 01-10http圖片上傳安全性問題 根據(jù)ContentType (MIME) 判斷其實(shí)不準(zhǔn)確、不
- 01-10淺析JAVA中過濾器、監(jiān)聽器、攔截器的區(qū)別


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻 器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 04-02jquery與jsp,用jquery
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10delphi制作wav文件的方法
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05DEDE織夢data目錄下的sessions文件夾有什