運用VB.net創建Web服務訪問程序

發表于:2007-05-25來源:作者:點擊數: 標簽:webVB.NET創建運用訪問
一.介紹: Web服務是微軟提出的基于互聯網的開發模型,一經提出即收到了業界的廣泛推從。從目前的發展趨勢來看,Web服務將引領下一代互聯網的潮流。它是創建可互操作的分布式應用程序的新平臺,是基于 網絡 的、分布式的模塊化組件。它執行特定的任務,遵守

  一.介紹:

  Web服務是微軟提出的基于互聯網的開發模型,一經提出即收到了業界的廣泛推從。從目前的發展趨勢來看,Web服務將引領下一代互聯網的潮流。它是創建可互操作的分布式應用程序的新平臺,是基于網絡的、分布式的模塊化組件。它執行特定的任務,遵守具體的技術規范,這些規范使得Web服務能與其他兼容的組件進行互操作。

  本文就向大家介紹如何運用VB.net來調用Google的Web服務,也就是如何在自己的應用程序中添加訪問Google的服務的功能。文章中介紹的功能包括了Google提供的搜索功能、緩存功能以及拼寫檢查功能。我們運用的開發工具是VS.net中的VB.net。

  二.開發步驟:

  第一步,下載開發者工具箱(Developer's Kit)并申請一個許可證密鑰(License Key)。你可以到http://www.google.com/apis/去下載開發者工具箱,里面包含了有關Google的Web服務的詳細說明文檔,你可以通過參考該文檔開發出許多高級的應用。在下載完畢后,你必須申請一個許可證密鑰,否則你無法訪問其Web服務。

  第二步,新建一個VB.net項目。打開VS.net,新建一個項目,在項目類型中選擇"Visual Basic項目",在模板中選擇"Windows應用程序",同時不妨命名為"GoogleWebService"。

  第三步,添加Web引用。在"解決方案資源管理器"中選擇該項目,并在右鍵菜單中選擇"添加Web引用",在彈出的對話框的地址欄中填上Web服務的描述的地址URL(http://api.google.com/GoogleSearch.wsdl),圖示如下:


圖1

  在添加Web引用后,我們就可以像是在本機上一樣調用其中的各種方法(Method)來為我們的程序服務,我們還可以像是在編寫本機程序一樣運用智能感知等VS.net開發工具的功能。在Web引用被成功添加后,"解決方案資源管理器"中就多了相應的Web服務引用了,圖示如下:


圖2


  同時,因為我們創建的項目是一個Windows應用程序,所以我們還得添加引用:System.Web.Services,這樣我們才可以實現對Web服務的調用功能的開發。

  第四步,開發程序的主界面。你可以按照如下方式設計程序的主界面:


圖3




  第五步,編寫程序代碼。下面我們為每個按鈕的編寫其消息相應函數。

  對于第一個按鈕"開始搜索!",它的消息響應函數完成的功能如下:首先創建一個Google搜索的對象,然后根據你所輸入的許可證密鑰以及你要搜索的內容調用doGoogleSearch函數。不過我們在程序中只運用了該函數的一種簡單的搜索功能,你可以試著使用不同的參數來完成更高級的搜索功能。最后從搜索的結果中分離出返回的結果數這一項并顯示在程序的窗體中。該函數的實現如下:

Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
' 創建一個Google搜索對象
 Dim s As New Google.GoogleSearchService()
 Try
 ' 調用搜索功能
  Dim r As Google.GoogleSearchResult = s.doGoogleSearch(txtLicenseKey.Text,   txtSearchTerm.Text, 0, 1, False, "", False, "", "", "")
  ' 從搜索的結果中分離出返回的結果數這一項并顯示在程序的窗體中
  Dim estResults As Integer = r.estimatedTotalResultsCount
  lblSearchResults.Text = CStr(estResults)
 Catch ex As System.Web.Services.Protocols.SoapException
  MsgBox(ex.Message)
 End Try
End Sub

  對于"緩存查詢!"這個按鈕的消息響應函數,其完成的功能是獲取緩存頁面的大小。它調用的方法為doGetCachedPage,通過該方法,程序可以獲得緩存頁面的字節數,然后根據該字節數顯示緩存頁面的大小。 其函數實現代碼如下:

Private Sub btnCache_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCache.Click
' 創建一個Google搜索對象
 Dim s As New Google.GoogleSearchService()
 Try
  ' 調用doGetCachedPage方法并獲取緩存字節數
  Dim bytes() As System.Byte = s.doGetCachedPage(txtLicenseKey.Text, txtCachePage.Text)
  ' 顯示緩存頁面的大小
  lblCacheResults.Text = CStr(bytes.Length)
 Catch ex As System.Web.Services.Protocols.SoapException
  MsgBox(ex.Message)
 End Try
End Sub

  對于"拼寫檢查!"按鈕的消息響應函數,它完成的功能則是對用戶的輸入進行拼寫檢查。使用過Google搜索功能的人都知道,如果你一不小心輸入錯誤的話,它會提示你正確的輸入,這是因為它調用了內部的拼寫檢查功能。比如,我在Google中輸入"Comparision of Chinese culture and western culture"的話,Google會提示我是否要搜索"Comparison of Chinese culture and western culture",一經它的提醒我才發現我把"Comparison"給拼錯了。所以該按鈕的消息響應函數調用了doSpellingSuggestion方法,調用之后如果獲得了相應的拼寫建議,則往往是你發生了拼寫方面的錯誤了,并顯示在窗體的文本框控件中。其函數的代碼實現如下:

Private Sub btnSpell_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSpell.Click
' 創建一個Google搜索對象
 Dim s As New Google.GoogleSearchService()
 Try
 ' 調用doSpellingSuggestion方法
  Dim suggestion As String = s.doSpellingSuggestion(txtLicenseKey.Text, txtSpell.Text)
  ' 如果右拼寫建議的信息,則顯示之
  If suggestion Is Nothing Then
   lblSpellResults.Text = ""
  Else
   lblSpellResults.Text = suggestion
  End If
 Catch ex As System.Web.Services.Protocols.SoapException
  MsgBox(ex.Message)
 End Try
End Sub


  第六步:運行程序。程序的運行結果圖示如下:


圖4


  三.小結:

  本文介紹了如何運用VB.net來訪問Google的Web服務的方法,當然你也可以用其他的語言,比如C#或是Java來開發此類應用。通過添加Web服務的引用,開發者可以像是開發本機程序一樣的開發Web服務程序,所以說運用VS.net開發工具大大簡化了開發人員的工作。不過本程序只是一個簡單的示例程序,要是你要開發出更高級的應用,不妨去參考開發者工具箱中的詳細說明文檔。通過它,我想你一定可以開發出很好的Google的Web服務的應用。

原文轉自:http://www.anti-gravitydesign.com

評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97