錯(cuò)誤信息
理解了文檔內(nèi)容亩进,但無(wú)法進(jìn)行處理症虑。 - WSDL 文檔包含無(wú)法解析的鏈接。
- 下載“http://admin-pc/IISHostService/Service1.svc?xsd=xsd0”時(shí)出錯(cuò)归薛。
- 基礎(chǔ)連接已經(jīng)關(guān)閉: 接收時(shí)發(fā)生錯(cuò)誤谍憔。
- 無(wú)法從傳輸連接中讀取數(shù)據(jù): 遠(yuǎn)程主機(jī)強(qiáng)迫關(guān)閉了一個(gè)現(xiàn)有的連接。主籍。
- 遠(yuǎn)程主機(jī)強(qiáng)迫關(guān)閉了一個(gè)現(xiàn)有的連接习贫。
元數(shù)據(jù)包含無(wú)法解析的引用:“http://admin-pc/IISHostService/Service1.svc?wsdl”。元數(shù)據(jù)包含無(wú)法解析的引用:“http://admin-pc/IISHostService/Service1.svc?wsdl”千元。如果該服務(wù)已在當(dāng)前解決方案中定義苫昌,請(qǐng)嘗試生成該解決方案,然后再次添加服務(wù)引用幸海。
該錯(cuò)誤是在使用svcutil生成client代碼時(shí)報(bào)的錯(cuò)誤祟身,服務(wù)是部署在IIS7上,部署的過(guò)程都是完全教科書(shū)式的進(jìn)行涕烧。服務(wù)也正常啟動(dòng)了月而,顯示如下內(nèi)容
已創(chuàng)建服務(wù)。
若要測(cè)試此服務(wù)议纯,需要?jiǎng)?chuàng)建一個(gè)客戶(hù)端父款,并將其用于調(diào)用該服務(wù)≌胺铮可以使用下列語(yǔ)法憨攒,從命令行中使用 svcutil.exe 工具來(lái)進(jìn)行此操作:
svcutil.exe ****http://leo-pc/IISHostService/Service1.svc?wsdl
按照提示直接用svcutil.exe****http://admin-pc/IISHostService/Service1.svc?wsdl命令去生成代碼,就出現(xiàn)了開(kāi)頭說(shuō)的那個(gè)錯(cuò)誤阀参。而如果用visual studio的webdevserver啟動(dòng)肝集,則一切正常。
經(jīng)過(guò)一輪谷百之后蛛壳,發(fā)現(xiàn)網(wǎng)上有很多類(lèi)似的情況杏瞻,有的說(shuō)是因?yàn)橛昧藈sHttpBinding協(xié)議引起的,或者是元數(shù)據(jù)沒(méi)有正確公開(kāi)衙荐,但都不是他們說(shuō)的情況捞挥。后來(lái)找到了一篇文章,說(shuō)的是添加WCF引用的一個(gè)陷阱忧吟。里面提到的情形跟我遇到的一致砌函,原來(lái)問(wèn)題出在權(quán)限,難怪用webdevserver可以很正常的運(yùn)行。原來(lái)在下載http://admin-pc/IISHostService/Service1.svc?xsd=xsd0時(shí)的權(quán)限不足讹俊,在瀏覽器直接訪(fǎng)問(wèn)這個(gè)url會(huì)提示找不到頁(yè)面垦沉。原因就是IIS進(jìn)程的用戶(hù)沒(méi)有訪(fǎng)問(wèn)Windows\Temp目錄的權(quán)限。找到Temp目錄仍劈,然后找到IIS_USER用戶(hù)厕倍,授權(quán)即可。
具體可參考:http://merill.net/2008/04/wcf-add-service-reference-gotcha-with-windows-server/
原文鏈接:cnblogs