版權(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)用程序如何組織編寫(xiě)、用什么語(yǔ)言編寫(xiě)這些應(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)程通信)和類(lèi)似組件的服務(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ù)的類(lèi)及其代碼,包括.vb和.resx文件Web.config:包含對(duì)Web服務(wù)應(yīng)用程序的配置設(shè)置BKStoreWebService.vbproj:項(xiàng)目文件上面代碼中,在類(lèi)聲明之前有一行WebService的屬性說(shuō)明標(biāo)簽,如下:<System.Web.Services.WebService(Namespace:="/BKStoreWebService/BkCheck")>_此標(biāo)簽向調(diào)用者公布Web服務(wù)類(lèi)及其有關(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è)用于查書(shū)店中書(shū)目資料的Web服務(wù)")>_WebService的屬性說(shuō)明標(biāo)簽添加Webservices方法
可以象一般自定義類(lèi)一樣,為Web服務(wù)類(lèi)添加成員屬性和方法。如果要想使某個(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ù)代理類(lèi),通過(guò)代理類(lèi)去訪問(wèn)Web服務(wù)。定義代理類(lèi)的方法,用它代表所公布的Web服務(wù)方法,這樣,當(dāng)客戶端應(yīng)用程序創(chuàng)建了代理類(lèi)的一個(gè)實(shí)例時(shí),它就能夠調(diào)用代理類(lèi)方法來(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)建代理類(lèi)的實(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省廣州市天河區(qū)2024屆高三下學(xué)期綜合測(cè)試(二)英語(yǔ)試題(解析版)
- 2026上半年貴州事業(yè)單位聯(lián)考畢節(jié)市七星關(guān)區(qū)招聘377人備考題庫(kù)及答案詳解(真題匯編)
- 2026中煤環(huán)保公司徐州分公司社會(huì)招聘工作人員59人備考題庫(kù)附參考答案詳解(滿分必刷)
- 2026天津華北地質(zhì)勘查局及所屬事業(yè)單位招聘13人備考題庫(kù)含答案詳解(b卷)
- 2026中國(guó)日?qǐng)?bào)社及所屬事業(yè)單位招聘國(guó)內(nèi)高校應(yīng)屆畢業(yè)生21人備考題庫(kù)含答案詳解(達(dá)標(biāo)題)
- 2026四川成都中醫(yī)藥大學(xué)第三附屬醫(yī)院招聘57人備考題庫(kù)帶答案詳解(鞏固)
- 2026上半年貴州事業(yè)單位聯(lián)考貴州省紅十字會(huì)招聘1人備考題庫(kù)附參考答案詳解(鞏固)
- 2026一季度重慶市屬事業(yè)單位公開(kāi)遴選28人備考題庫(kù)及答案詳解(必刷)
- 2026四川啟賽微電子有限公司招聘質(zhì)量工程師(CQE)崗位1人備考題庫(kù)附參考答案詳解(綜合題)
- 2026北京首都體育學(xué)院附屬競(jìng)技體育學(xué)校文化課教師招聘3人備考題庫(kù)附參考答案詳解ab卷
- 2025年市級(jí)科技館招聘筆試重點(diǎn)解析
- 機(jī)動(dòng)車(chē)檢驗(yàn)機(jī)構(gòu)管理年度評(píng)審報(bào)告
- 監(jiān)獄消防培訓(xùn) 課件
- 道路建設(shè)工程設(shè)計(jì)合同協(xié)議書(shū)范本
- 白塞病患者外陰潰瘍護(hù)理查房
- 西葫蘆的栽培技術(shù)
- 2025年安徽阜陽(yáng)市人民醫(yī)院校園招聘42人筆試模擬試題參考答案詳解
- 2024~2025學(xué)年江蘇省揚(yáng)州市樹(shù)人集團(tuán)九年級(jí)上學(xué)期期末語(yǔ)文試卷
- 2026屆江蘇省南京溧水區(qū)四校聯(lián)考中考一模物理試題含解析
- 2025年黑龍江省公務(wù)員《申論(行政執(zhí)法)》試題(網(wǎng)友回憶版)含答案
- 公司大型綠植自營(yíng)活動(dòng)方案
評(píng)論
0/150
提交評(píng)論