《Visual Basic .NET軟件開(kāi)發(fā)技術(shù)》課件第11章 創(chuàng)建并使用Web服務(wù)_第1頁(yè)
《Visual Basic .NET軟件開(kāi)發(fā)技術(shù)》課件第11章 創(chuàng)建并使用Web服務(wù)_第2頁(yè)
《Visual Basic .NET軟件開(kāi)發(fā)技術(shù)》課件第11章 創(chuàng)建并使用Web服務(wù)_第3頁(yè)
《Visual Basic .NET軟件開(kāi)發(fā)技術(shù)》課件第11章 創(chuàng)建并使用Web服務(wù)_第4頁(yè)
《Visual Basic .NET軟件開(kāi)發(fā)技術(shù)》課件第11章 創(chuàng)建并使用Web服務(wù)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一單元了解Web服務(wù)Web服務(wù)是為客戶端提供功能的應(yīng)用程序,提供一些服務(wù)或?qū)?shù)據(jù)的訪問(wèn)。WEB服務(wù)是通過(guò)基于標(biāo)準(zhǔn)的開(kāi)放協(xié)議(例如SOAP、HTTP)來(lái)訪問(wèn)的。在Internet中,Web服務(wù)并不知道調(diào)用它的應(yīng)用程序如何組織編寫、用什么語(yǔ)言編寫這些應(yīng)用程序、或者它運(yùn)行在什么系統(tǒng)平臺(tái)上、是基于桌面的應(yīng)用程序還是基于WEB的應(yīng)用程序,只要遵守WEB服務(wù)的開(kāi)放協(xié)議標(biāo)準(zhǔn),它們都能正確調(diào)用WEB服務(wù)。SOAP是一種基于XML的消息傳遞協(xié)議,它允許通過(guò)一個(gè)HTTP連接執(zhí)行消息傳遞(遠(yuǎn)程通信)和類似組件的服務(wù)調(diào)用(遠(yuǎn)程執(zhí)行命令)。由于SOAP是基于XML的,所以應(yīng)用程序可以位于不同的系統(tǒng)上,應(yīng)用程序不關(guān)心其它應(yīng)用程序運(yùn)行在什么操作系統(tǒng)上或者用什么語(yǔ)言開(kāi)發(fā),只要支持SOAP規(guī)范,兩個(gè)應(yīng)用程應(yīng)就可以交換消息,這些消息包括命令、參數(shù)、返回結(jié)果。為了確保WEB服務(wù)和任何一個(gè)應(yīng)用程序可以交互,.NET框架中的WEB服務(wù)利用了XML和簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP),在調(diào)用與被調(diào)用者間傳遞的是XML格式的SOAP消息。第二單元?jiǎng)?chuàng)建Web服務(wù).NETWEB服務(wù)是一個(gè)由多個(gè)訪問(wèn)點(diǎn)(可被調(diào)用的函數(shù))組成的WEB應(yīng)用程序,要求系統(tǒng)中裝有IIS,并已啟動(dòng)。創(chuàng)建一個(gè)WEB服務(wù)項(xiàng)目時(shí),Visualstudio.NET集成開(kāi)發(fā)環(huán)境(IDE)會(huì)創(chuàng)建一個(gè)虛擬的Web目錄,用于保存項(xiàng)目中的文件。舉例如下步驟如下:用IIS創(chuàng)建一個(gè)虛擬目錄,并使用.htm文件測(cè)試虛擬目錄是否已經(jīng)建立成功,記住所創(chuàng)建的虛擬目錄的URL地址;使用VisualStudio.NET新建項(xiàng)目,項(xiàng)目模板選擇“ASP.NETWeb服務(wù)”。注意,在位置欄填入你剛才創(chuàng)建的虛擬目錄的URL地址;最后按“確定”即可,VisualStudio.NET會(huì)自動(dòng)把程序文件放入到虛擬目錄所對(duì)應(yīng)的文件夾中。Web服務(wù)項(xiàng)目創(chuàng)建后,Web服務(wù)項(xiàng)目包含有以下文件:AssemblyInfo.vb:包含Web服務(wù)的匯編信息。Global.asax:包含全局Web應(yīng)用程序代碼,包括.vb和.resx文件Service1.asmx:包含Web服務(wù)的類及其代碼,包括.vb和.resx文件Web.config:包含對(duì)Web服務(wù)應(yīng)用程序的配置設(shè)置BKStoreWebService.vbproj:項(xiàng)目文件上面代碼中,在類聲明之前有一行WebService的屬性說(shuō)明標(biāo)簽,如下:<System.Web.Services.WebService(Namespace:="/BKStoreWebService/BkCheck")>_此標(biāo)簽向調(diào)用者公布Web服務(wù)類及其有關(guān)屬性說(shuō)明,可選的屬性說(shuō)明項(xiàng)有:Description

提供一個(gè)Web服務(wù)的描述說(shuō)明Name

為Web服務(wù)指定一個(gè)名稱Namespace

為Web服務(wù)指定一個(gè)XML命名空間可以為上面的標(biāo)簽添加描述說(shuō)明,改為:<System.Web.Services.WebService(Namespace:="/BKStoreWebService/BkCheck",Description:="這里是一個(gè)用于查書店中書目資料的Web服務(wù)")>_WebService的屬性說(shuō)明標(biāo)簽添加Webservices方法

可以象一般自定義類一樣,為Web服務(wù)類添加成員屬性和方法。如果要想使某個(gè)公用方法能以Web服務(wù)的方式被訪問(wèn),即定義為Web服務(wù)方法(訪問(wèn)點(diǎn)),只需要在方法的定義代碼前,加上Web服務(wù)方法的說(shuō)明標(biāo)簽(WebMethod)。還可以在Web服務(wù)方法的說(shuō)明標(biāo)簽中,加入此Web服務(wù)方法的某些特性說(shuō)明,下面是一些常用特性說(shuō)明項(xiàng):Description提供這個(gè)方法的描述說(shuō)明MessageName為這Web服務(wù)方法指定一個(gè)對(duì)外名稱,默認(rèn)為函數(shù)名EnableSession指定是否保存會(huì)話信息BufferResponse指定是否緩存響應(yīng)TransactionOption說(shuō)明此服務(wù)方法是否支持事務(wù)處理<WebMethod(Description:="說(shuō)明:查詢當(dāng)前已記錄的學(xué)生的總數(shù),返回一個(gè)整數(shù)")>_PublicFunctioncountStudent()AsIntegerDimconnAsNewOleDb.OleDbConnection("Provider=SQLOLEDB;UserID=guest;Password=guest;InitialCatalog=MySchool;dataSource=VIC")conn.Open()DimcommAsNewOleDb.OleDbCommand("selectcount(*)fromStudents",conn)DimintCountAsInteger=0intCount=comm.ExecuteScalarconn.Close()ReturnintCountEndFunction<WebMethod(Description:="說(shuō)明:查詢當(dāng)前已記錄的學(xué)生的所有信息,返回一個(gè)數(shù)據(jù)集")>_PublicFunctiondataSetStudent()AsDataSetDimconnAsNewOleDb.OleDbConnection("Provider=SQLOLEDB;UserID=guest;Password=guest;InitialCatalog=MySchool;dataSource=VIC")DimcommAsNewOleDb.OleDbCommand("select*fromStudents",conn)DimdaAsNewOleDb.OleDbDataAdapter(comm)DimdsAsNewDataSetds.Clear()da.Fill(ds,"Students")dataSetStudent=dsEndFunction第三單元使用Web服務(wù)調(diào)用Web服務(wù)方法及返回方法結(jié)果,都是通過(guò)傳送XML來(lái)完成,這就要求使用雙方都能識(shí)別的統(tǒng)一的XML格式規(guī)范(俗稱合同),在不同場(chǎng)合,通過(guò)不同的協(xié)議來(lái)訪問(wèn)Web服務(wù)時(shí),使用與協(xié)議相應(yīng)的合同。使用來(lái)訪問(wèn)Web服務(wù)有三種,使用的相應(yīng)協(xié)議有三個(gè)。簡(jiǎn)單地說(shuō),可以從Web瀏覽器訪問(wèn)(HTTPGET或HTTPPOST)Web服務(wù),也可以在應(yīng)用程序代碼中調(diào)用Web服務(wù)(通過(guò)SOAP協(xié)議)。從程序代碼中調(diào)用Web服務(wù)(SOAP方式)在程序代碼中調(diào)用Web服務(wù)是通過(guò)簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)進(jìn)行的;把SOAP的調(diào)用過(guò)程及SOAP的解釋封裝為客戶端的Web服務(wù)代理類,通過(guò)代理類去訪問(wèn)Web服務(wù)。定義代理類的方法,用它代表所公布的Web服務(wù)方法,這樣,當(dāng)客戶端應(yīng)用程序創(chuàng)建了代理類的一個(gè)實(shí)例時(shí),它就能夠調(diào)用代理類方法來(lái)調(diào)用相應(yīng)的Web服務(wù)方法,就好像Web服務(wù)方法是一個(gè)可在本地使用的組件一樣。步驟:?jiǎn)?dòng)、調(diào)試WebService,確認(rèn)WebService工作正常;創(chuàng)建一個(gè)新的項(xiàng)目,例如,模板選擇“Windows應(yīng)用程序”;在“項(xiàng)目”中右鍵,選擇“添加Web引用”,在“URL”欄填入WebService的URL地址,例如:http://localhost/MySchoolWebService/StudentWebService.asmx;然后,點(diǎn)擊“轉(zhuǎn)到”,如果WebService的URL地址正確,則成功搜索到,否則,請(qǐng)確認(rèn)WebService的URL地址(提示,可以用本地計(jì)算機(jī)上的Web服務(wù)向?qū)?lái)完成);最后,點(diǎn)擊“添加引用”即可;在“Web引用”中右鍵,選擇“更新Web引用”(每一次修改WebService后都必須更新才能得到新的Web服務(wù)),然后,創(chuàng)建代理類的實(shí)例,通過(guò)該實(shí)例調(diào)用WebService的方法。從程序代碼中調(diào)用Web服務(wù)(SOAP方式)舉例說(shuō)明:PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

DimcsAsNewlocalhost.StudentWebServiceDimintCountAsInteger=0intCount=cs.countStudent()lblStudentNum.Text=CStr(intCount)EndSubPrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論