麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

VS。NET 我可以說不嗎?(再談Web Service)下

2019-09-10 09:07:17
字體:
來源:轉載
供稿:網友

VS。NET 我可以說不嗎?(再談Web Service)下

小氣的神 2001.08.06

4.   完成對Web Service的測試之后,我們開始完成客戶端的工作,生成代理包,調用這個服務。

這部分也輕車熟路了,上篇文檔中的我也是手工完成的。具體分為兩步:

1.   先生成一個代理類。

wsdl   /out:WebServiceProxyClass.cs   http://localhost/WebService1/Service1.asmx

2.   然后編譯這個代理類。

csc /t:library /out:bin/MyWebServiceProxy.dll  WebServiceProxyClass.cs

對于bin的目錄不是必須或要求的可以在任何目錄,完成這部之后,組件也自動的注冊了,也就是說你可以開始調用這個Web Service了。

5.   用客戶端代碼進行測試。

上一篇中我只用VS。NET簡單的建立了一個 ASP Form,上面放兩個 Lable顯示一下。其實對于客戶端來說可以說多種多樣的,可以是ASP,Html,dotnet的應用程序,ASP+頁面,VB程序、甚至是Java或其它任何語言生成的客戶端。這也真正表現了Web Service的意義,只要在Web上,你能找到這個Service,那么你就可以享受這個Service。

Html就很容易了比如:

<a href="http://localhost/WebService1/Service1.asmx/HelloWorld"> HelloWorld </a>你就可以完成測試。如果你要突出編程方式那么你可以象我上次一樣用 Service1 ServiceProxy = new Service1() ;

String strReturn = ServiceProxy.HelloWorld() ; 這樣的方式來獲得結果。在ClientHtml.html中我展現了兩種用于Web Service的協議:HTTP-GET和HTTP-POST。不過我想著重說的是CallServiceXML.asp這個文件的作法,從中你可以發現許多不同的東西,到底Web Service是通過什么來返回它提供的Service,它在干什么,結果也許你會發現很耳熟的SOAP。其實代理類是通過SOAP協議和ASP+的Web Service進行通訊。

你可以仔細考察下面的代碼:

function btn_click (n1, n2)

       {

/t        var xmlObj = new ActiveXObject("Msxml2.DOMDocument") ;

/t        var sXml  = "<?xml version="1.0" ?>" ;

/t/t      sXml += "<soap:Envelope "

/t/t      sXml += "xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" " ;

/t/t      sXml += "xmlns:xsd="http://www.w3.org/2001/XMLSchema" " ;

/t  /t    sXml += "xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">" ;

/t/t      sXml += "<soap:Body>" ;

/t/t      sXml += "<Add xmlns="http://tempuri.org/">" ;

/t/t      sXml = sXml + "<n1>" + n1.value  + "</n1>" ;

/t/t      sXml = sXml + "<n2>" + n2.value  + "</n2>" ;/t/t      

/t/t      sXml += "</Add></soap:Body></soap:Envelope>"

/t        

/t/t  xmlObj.loadXML(sXml) ;

/t        // 完成請求的準備,手工生成一個SOAP的格式包(消息主體)

/t        XmlRequest.innerText =  xmlObj.xml  ;

/t        // 發出請求 并且得到服務器的回應。

      /t  var xmlHTTP = new ActiveXObject("Msxml2.XMLHTTP") ;

/t        xmlHTTP.Open ( "Post", "http://localhost/WebService1/Service1.asmx", false) ;

/t        xmlHTTP.setRequestHeader("SOAPAction", "http://tempuri.org/Add") ;

/t        xmlHTTP.setRequestHeader("Content-Type", "text/xml; charset=utf-8" ) ;

/t        xmlHTTP.Send(xmlObj.xml) ;

/t        MyResult.innerText =  xmlHTTP.responseText ;

/t        

/t        var xmlResponse = xmlHTTP.responseXML ;

/t/t/t      // xmlHTTP.responseXML 中就是服務器回應的結果

/t        answer.innerText = xmlResponse.selectSingleNode

("soap:Envelope/soap:Body/AddResponse/AddResult").text ;

看得出先構造一個SOAP的包然后把請求拿回來(selectSingleNode函數是XML
DOM中的很通用的一個函數)具體的結果可以看09CallServiceXML.jpg

好了,通過上面我們完成了一個Web Service。這是完成一個Web Service的基本框架,剩下的你可以進行擴充實現你需要的功能。在最后我們具體考察了Web Service的協議和客戶端的問題,涉及到SOAP和XML的一些概念。盡管VS。NET實現Web Service很方便,但手工實現也是完全可以的,但愿看完這篇文章之后你可以對VS。NET說一次不。

最后附帶整個的代碼和圖示。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 超碰97最新| 久久国产精品区 | 色欲香天天天综合网站 | 一级电影在线观看 | 黄色一级片在线观看 | 欧美一级一区二区三区 | 依依成人精品视频 | 日本大片在线播放 | 欧美日韩中文字幕在线 | 中文字幕22页 | 久色一区 | 九九热在线视频免费观看 | av视在线 | 久久99久久98精品免观看软件 | 国产一区二区三区视频在线观看 | avav在线播放 | 在线免费观看欧美 | 国产一区二区欧美 | 热re91久久精品国产99热 | 最新中文在线视频 | 久久露脸国语精品国产91 | 女教师~淫辱の动漫在线 | 日韩黄色片网站 | 亚洲午夜久久久精品一区二区三区 | 国产手机av在线 | hdbbwsexvideo| 小视频免费在线观看 | 国产精品久久久久久久娇妻 | 国产精品视频一区二区三区四 | 97超级碰碰人国产在线观看 | 韩国一大片a毛片 | 国产一级大片在线观看 | hdjapanesemassagehd日本 | 久久精品欧美视频 | 毛片免费看网站 | 国人精品视频在线观看 | 黄色片在线观看网站 | 中文字幕在线观看免费视频 | 全黄裸片武则天一级第4季 偿还电影免费看 | 国产流白浆高潮在线观看 | 黄色免费播放网站 |