<output id="r87xx"></output>
    1. 
      
      <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
        •   

               當(dāng)前位置:首頁(yè)>軟件介紹>透視和調(diào)整你的企業(yè)和商務(wù)系統(tǒng)(Ⅳ:WebService、dotNET) 查詢:
               
          透視和調(diào)整你的企業(yè)和商務(wù)系統(tǒng)(Ⅳ:WebService、dotNET)
          AMTeam.org

          透視和調(diào)整你的企業(yè)和商務(wù)系統(tǒng)(Ⅳ:WebService、dotNET)

          到上一篇為止,我們已經(jīng)完成了在第一篇(Analyzing、Requirement)所說(shuō)的三個(gè)過(guò)程中的第二步了,這一篇開(kāi)始我們可以用dotNET的WebService方式來(lái)重新考慮以前的AuthorsWebService,技術(shù)上我傾向于MS的建議,那就是在實(shí)現(xiàn)和設(shè)計(jì)WebServices時(shí)將ASP.NET的WebService作為首選。所以這一篇我們將主要考察ASP.NET的WebService.

          這要從第二篇的分析開(kāi)始,原來(lái)當(dāng)我用SOAPToolkit生成了WebService后,我就在Dereksvr機(jī)器上用VS.NET的AddWebReference...輸入,VS.NET也是可以發(fā)現(xiàn)這個(gè)WebService,但是由于ADODB.Recordset的問(wèn)題,它無(wú)法生成Proxy類,當(dāng)時(shí)我以為SOAPToolkit生成的WSDL并不完全兼容很快放棄了繼續(xù)向下實(shí)驗(yàn)了。幾天之后我又做了另外一種嘗試:我用SOAPToolkit重新生成了WebService的WSDL文件,這次我沒(méi)有把返回ADODB.Recordset的函數(shù)放到里面,也就是全部都是在第二篇說(shuō)的標(biāo)志類型,然后我又在VS.NET中重復(fù)了上述的步驟,這一次OK了,VS.NET成功的生成了Proxy類,我生成了一個(gè)小例子測(cè)試,結(jié)果是成功的。那么結(jié)論是:對(duì)于第二類返回特殊類型的(也就是第二篇中用CTM的類型)我們要另外處理,對(duì)于第一種類型的我們只要用MSSOAPToolkit生成WSDL文件,然后在IIS中設(shè)置好,就可以成為一個(gè)WebService,在消費(fèi)這種WebService上我們不用特殊處理。不僅VS.NET可以直接使用,其他支持WebService規(guī)范的也是可以使用的(只能說(shuō)估計(jì)。Java?Delphi?抱歉我沒(méi)有試過(guò))下面是我測(cè)試成功的例子的拷圖,感覺(jué)還不錯(cuò),連中文也不用什么特殊處理。
          PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click

          DimobjAshenrysvr.Authors
          DimretStringAsString

          DimSendStrAsString
          SendStr=echoTxt.Text

          obj=Newhenrysvr.Authors()
          retString=obj.Echo(SendStr)
          MessageBox.Show(retString)

          EndSub

          好了,剩下的又是ADODB.Recordset的問(wèn)題,如果處理這個(gè)COM對(duì)象呢?之前我們已經(jīng)用了一種方法,dotNET作為Client,這次我換一種方式,生成一個(gè)ASP.NET方式的WebService,然后引用bus_Authors組件,對(duì)那些返回記錄集的函數(shù)在這個(gè)WebService中做一個(gè)封裝。比如:

          WebMethod()PublicFunctionVersion()AsString
          DimobjAsbus_Authors.Authors
          obj=Newbus_Authors.Authors()
          Version=obj.Version
          EndFunction

          WebMethod()PublicFunctionGetAuthors()AsDataSet

          DimobjAsbus_Authors.Authors
          DimrstAsADODB.Recordset

          DimmyDataAdapterAsOleDb.OleDbDataAdapter
          DimretDatasetAsDataSet

          obj=Newbus_Authors.Authors()
          rst=NewADODB.Recordset()

          myDataAdapter=NewOleDb.OleDbDataAdapter()
          retDataset=NewDataSet()

          rst=obj.GetAuthors()
          myDataAdapter.Fill(retDataset,rst,"GetAuthors")
          GetAuthors=retDataset
          EndFunction

          看的出來(lái),就是簡(jiǎn)單的調(diào)用Biz組件,然后將ADODB.Recordset轉(zhuǎn)換成DataSet。

          有關(guān)引用Bus_Authors,你可以在目前的這部機(jī)器上安裝我們?cè)诘谝黄狤xport出來(lái)的Server或Proxy都可以,我為了方便,直接使用了Server包。剩下來(lái)的就十分簡(jiǎn)單了,需要生成一個(gè)測(cè)試程序,這個(gè)就簡(jiǎn)單了,參照CarlFranklin的錄像就可以了。算是也自己練習(xí)一次haha。

          (具體參見(jiàn)?id=10816)

          下面是運(yùn)行的代碼和拷圖:

          PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
          "Putusercodetoinitializethepagehere
          DimrsAsDataSet
          DimobjAsNewlocalhost.Authors()

          rs=obj.GetAuthors()
          DataGrid1.DataSource=rs
          DataGrid1.DataBind()
          EndSub

          至于VB版本的客戶端也是可以的,你可以在另外一部機(jī)器上用下面的代碼進(jìn)行測(cè)試:

          DimRetXMLasObject
          DimSoapClientAsMSSOAPLib.SoapClient
          SetSoapClient=NewMSSOAPLib.SoapClient

          CallSoapClient.mssoapinit("?WSDL")

          SetRetXML=SoapClient.GetAuthors()

          如果成功返回的應(yīng)當(dāng)是一個(gè)IXMLDOMNodeList里面包括整個(gè)的Dataset結(jié)構(gòu)和23條數(shù)據(jù),至于具體的顯示這個(gè)結(jié)果集的VB程序就不再說(shuō)了,以后也許會(huì)專門有文章論述如何將dotNET的DataSet轉(zhuǎn)化成VB可以識(shí)別的問(wèn)題,比如會(huì)有FillListView(lstvAsControl,objasObject)之類的函數(shù)將這個(gè)XML結(jié)構(gòu)填充到VB6ListView或Grid控件中,這里我就不詳細(xì)說(shuō)了。具體的你還可以在其他機(jī)器上使用然后選取GetAuthors然后點(diǎn)擊調(diào)用獲得結(jié)果,也可以直接點(diǎn):?你在IE窗口上可以明顯的看到這個(gè)返回結(jié)果的XML文檔(從中你可以看到DataSet最原始的構(gòu)造haha)。

          掌握不同返回類型分別處理的原則,無(wú)論是MSSOAPToolkit還是ASP.NETWebService都是可以被我們所用。看起來(lái)使用dotNET會(huì)簡(jiǎn)單和省力許多。我想隨著dotNET技術(shù)的推進(jìn),越來(lái)越多的人會(huì)考慮用dotNET技術(shù)實(shí)現(xiàn)一些新的商務(wù)或企業(yè)應(yīng)用系統(tǒng),至少我會(huì)這樣。也許這些例子是想說(shuō)明從現(xiàn)在的WindowsDNA構(gòu)架切換到新的dotNET體系結(jié)構(gòu)下,是可行也是可以被你控制的。并不是像一些人以為的那樣,認(rèn)為只用VS.NET重新編譯一遍原來(lái)的應(yīng)用就OK,也不能像另外一些人以為的那樣,認(rèn)為dotNET根本是市場(chǎng)的策略,而且真正實(shí)施起來(lái)很麻煩很困難,還要等個(gè)3-5年。


          電信企業(yè)IT系統(tǒng)的SOA實(shí)施策略選擇IT系統(tǒng) 應(yīng)認(rèn)清項(xiàng)目變更的必然性
          CIO經(jīng)驗(yàn):管理軟件成功應(yīng)用四條基本規(guī)范北京煙草電子結(jié)算系統(tǒng)升級(jí)
          SaaS和云計(jì)算:軟件業(yè)互聯(lián)網(wǎng)化雙驅(qū)動(dòng)重慶XX房地產(chǎn)公司大OA辦公系統(tǒng)之ERP項(xiàng)目工作周報(bào)(10.21—10.25
          規(guī)避“過(guò)山車型”ERP系統(tǒng)有哪些妙計(jì)如何應(yīng)對(duì)銀行交易系統(tǒng)性能下降
          地產(chǎn)行業(yè)管理軟件的危險(xiǎn)習(xí)慣《財(cái)富》:軟件業(yè)巨頭搶占下一制高點(diǎn)-網(wǎng)絡(luò)服務(wù)
          中石油郵件系統(tǒng)管理實(shí)踐醫(yī)藥信息化:實(shí)現(xiàn)erp系統(tǒng)多少錢與GMP的完美結(jié)合
          服裝零售業(yè)erp系統(tǒng)多少錢與電子商務(wù)里應(yīng)外合軟件企業(yè)未來(lái)的SaaS將走入歧途?
          刀片服務(wù)器在移動(dòng)業(yè)務(wù)支撐系統(tǒng)的應(yīng)用新醫(yī)改催生六大信息系統(tǒng)
          信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
          • 勁爆價(jià):
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • 靠逼视频免费观看 | 欧美色俺去了 | 中文字幕日韩人妻久热 | 岛国爱情动作片,91,麻豆 | 伊人大鸡巴 | 韩国国产精品 | 国产xxxx视频 | A片免费网站在线观看 | 欧美在线看片 | www.豆花视频无码 |