C# WebService發(fā)布與調(diào)用淺析
Web Service是可操作的分布式應(yīng)用程序。它以SOAP作為基本通信協(xié)議,使用HTTP和XML進(jìn)行可以穿越防火墻的自由通信。
錯(cuò)誤提示:
* 出現(xiàn) 訪問(wèn) IIS 元數(shù)據(jù)庫(kù)失敗
* iis 無(wú)法顯示XML
解決:開(kāi)始->程序->Microsoft Visual Studio 2005->Visual StudioTools中打開(kāi)命令行,輸入命令: aspnet_regiis -i 這樣就會(huì)重新注冊(cè).net
另還需在虛擬目錄上打開(kāi)屬性對(duì)話框,點(diǎn)擊ASP.NET屬性頁(yè)在“Asp.net version”項(xiàng)選擇相應(yīng)的Asp.net版本(1.1或者2.0)
* 無(wú)權(quán)限問(wèn)題
因?yàn)槲覀儸F(xiàn)在用的都是NTFS格式的硬盤(pán),把Everyone用戶選擇上或者在IIS中把允許匿名訪問(wèn)勾上
* 把Window系統(tǒng)集成用戶去掉勾選
1.首先添加新項(xiàng)---Web服務(wù)---*.asmx
同時(shí)在App_Code文件夾下增加了一個(gè)*.cs文件
- WebMethod]
- public string[] GetHotSearchByKeywords
- (string keyword)
- {
- return SearchKeywordManager.GetHotSearchByKeywords
- (keyword);
- }
- [WebMethod]是Web Service為我們提供的特性,
- 它表示下面的方法是 Web 方法,允許Web使用SOAP調(diào)用該方法
- 一個(gè)Web Service文件中可以有多個(gè)[WebMethod],
- 一個(gè)[WebMethod]只能對(duì)它下面的方法有效
寫(xiě)完以后,可以直接打開(kāi)這個(gè)文件進(jìn)行測(cè)試,成功后,即可發(fā)布
2.C# webService發(fā)布
C# webService發(fā)布網(wǎng)站---創(chuàng)建虛擬目錄---瀏覽WebService頁(yè)面---測(cè)試WebService方法
在發(fā)布的時(shí)候有可能會(huì)出現(xiàn)一點(diǎn)小問(wèn)題,上面是出錯(cuò)的狀況
打開(kāi)WebService的那個(gè)網(wǎng)址,就是要發(fā)布的WebService的URL
3.C# WebService調(diào)用
添加Web引用---實(shí)例化WebService類---執(zhí)行WebService方法
WebService可能在本項(xiàng)目、非本項(xiàng)目、甚至在異地被調(diào)用
*添加WebService引用
*在URL處填寫(xiě)發(fā)布的WebService網(wǎng)址,單擊前往,就會(huì)看到我們發(fā)布的WebService方法
*可以改一下WebService的引用名
C# WebService調(diào)用這個(gè)方法
引用名.類名s=new引用名.類名();
*添加完引用后,同時(shí)會(huì)看到App_WebReferences文件夾下已經(jīng)添加了WebService的相關(guān)文件
*.disco
*.discomap
*.wsdl
【編輯推薦】