用IE的Web服務(wù)建立ASP.NET應(yīng)用程序(一) |
發(fā)布時間: 2012/8/9 15:18:42 |
在建立商業(yè)網(wǎng)站的時候,開發(fā)者遇到的一種限制是只能把瀏覽器作為用戶界面。例如,在很多情形中,用戶希望在執(zhí)行某些操作(例如輸入雇員編號)之后從服務(wù)器檢索到信息。為了達(dá)到這個目的,他們將把頁面發(fā)回到服務(wù)器,檢索雇員信息,并用從服務(wù)器上檢索到的信息刷新頁面。盡管目前這種刷新整個頁面的方法很普遍,但是它的效率很低,因為Web頁面刷新了,并且重新呈現(xiàn)了整個頁面的內(nèi)容,即使頁面只要少量的部分真正地發(fā)生了改變。在搜索某個類別或者搜索引擎的時候你就可以注意到這種低下的效率。它的延遲和資源浪費非常明顯。但是,如果相同的功能不用刷新瀏覽器頁面就能夠完成,用戶體驗將會得到很大的提高。為了實現(xiàn)這種目的,我們需要在不離開當(dāng)前頁面的情況下執(zhí)行一段服務(wù)器代碼的途徑,這就是Web服務(wù)行為起的作用。在這種情形下,服務(wù)器上執(zhí)行的代碼片段是Web服務(wù)方法的代碼,瀏覽器的角色是調(diào)用這段服務(wù)器代碼而不離開或刷新當(dāng)前頁面。
使用Web服務(wù)行為的時候,你只需要從某個客戶端瀏覽器的Web頁面中發(fā)送一個請求執(zhí)行特定的Web服務(wù)方法。在服務(wù)器端,ASP.NET運行時接收到請求,使用相關(guān)的參數(shù)調(diào)用Web服務(wù)方法。在Web服務(wù)執(zhí)行完成后,它把結(jié)果傳達(dá)給調(diào)用者,接下來結(jié)果被瀏覽器顯示或處理。其結(jié)果是,你可以建立典型的客戶端/服務(wù)器通訊,而不需要理會下層HTTP協(xié)議的無狀態(tài)(stateless)特性。Web服務(wù)行為的另一個優(yōu)點是為了實現(xiàn)功能,客戶端上只需要一個文件(webservice.htc)存在。使用Web服務(wù)方法的時候,你還可以異步調(diào)用Web服務(wù)方法。這種能力非常強大,可以用于在客戶端建立豐富的用戶體驗。例如,當(dāng)用戶繼續(xù)處理相同頁面上的事務(wù)的時候,你可以使用Web服務(wù)行為讓服務(wù)器驗證某些數(shù)據(jù)。一旦函數(shù)調(diào)用返回了,你就可以得到執(zhí)行結(jié)果并把結(jié)果傳達(dá)給用戶。 Web服務(wù)行為 Web服務(wù)行為是把HTML組件(HTC)文件作為附屬行為實現(xiàn)功能的,它可以用于InternetExplorer5及以后版本。前面提到過,Web服務(wù)行為通過利用工業(yè)標(biāo)準(zhǔn)協(xié)議(例如HTTP、SOAP和XML)提供了跨平臺調(diào)用遠(yuǎn)程Web方法的途徑。Web服務(wù)行為的重要特性之一是,它允許你在沒有深厚的SOAP知識的情形下使用這些功能。Web服務(wù)通過處理瀏覽器和Web服務(wù)之間的SOAP數(shù)據(jù)包通訊,基本上簡化了Web服務(wù)的遠(yuǎn)程調(diào)用。你不用擔(dān)心SOAP消息的聚集(assembling)和分解(disassembling)。所有處理SOAP詳細(xì)信息的代碼都被封裝在行為之中,簡化了主Web頁面中的客戶端腳本。 Web服務(wù)行為是使用特定的IE行為語法嵌入Web頁面的JavaScript文件。通過把屬性和方法暴露給客戶端腳本,Web服務(wù)行為聚集消息并分解Web服務(wù)發(fā)回的響應(yīng)信息。行為所暴露的對象不僅能夠啟動清晰的錯誤處理方法,而且提供了對返回數(shù)據(jù)的簡單地訪問。Web服務(wù)行為從客戶端腳本接收到方法調(diào)用,并使用SOAP消息給Web服務(wù)發(fā)送請求。結(jié)果會返回客戶端腳本,并且處理過程繼續(xù)。接下來Web頁面可以把信息用于任何需要的情形中,例如更新頁面的某些部分,發(fā)送錯誤消息等等。 Web服務(wù)行為的一個關(guān)鍵特性是它允許客戶端腳本訪問Web服務(wù)而不用導(dǎo)航到另一個URL。下面的列表詳細(xì)說明了Web服務(wù)行為支持的重要的方法: ·createUseOptions(建立使用的選項)--允許我們跨越遠(yuǎn)程方法調(diào)用保存用戶認(rèn)證信息。當(dāng)我們使用SSL與遠(yuǎn)程Web服務(wù)通訊的時候會很有用。 ·callService(調(diào)用服務(wù))--允許我們異步調(diào)用遠(yuǎn)程Web服務(wù)。 ·useService(使用服務(wù))--允許我們在調(diào)用Web服務(wù)的時候為該服務(wù)建立一個"友好的"名稱。 為了在IE5.0和以上版本的Web頁面中使用行為,你必須下載webservice.htc行為文件,并把它保存在與你的Web頁面相同的文件夾中。這個文件可以從下面的鏈接下載得到:http://msdn.microsoft.com/downloads/samples/internet/behaviors/library/webservice/web-service.htc。 實現(xiàn)過程 你已經(jīng)了解了Web服務(wù)行為的一些基礎(chǔ)知識,現(xiàn)在可以看一個示例應(yīng)用程序了,它演示了在ASP.NET應(yīng)用程序中如何使用Web服務(wù)行為。在這個例子中,你將建立一個簡單的應(yīng)用程序,它允許你從Northwind數(shù)據(jù)庫檢索雇員信息。示例應(yīng)用程序還允許基于雇員的ID搜索雇員信息。 EmployeeWeb服務(wù)的建立過程 在這一部分,你需要首先建立一個叫作EmployeeWebService的新VisualC#Web服務(wù)項目。項目建立之后,你需要把默認(rèn)的Web服務(wù)類的名字Service1改成EmployeeService。接著你需要導(dǎo)入下面的名字空間以執(zhí)行數(shù)據(jù)訪問和處理XML數(shù)據(jù)。
本文出自:億恩科技【www.riomediacenter.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |