HOW TO:使用 Visual Basic .NET 撰寫簡單的 Web 服務

文章翻譯 文章翻譯
文章編號: 301273 - 檢視此文章適用的產品。
本文曾發行於 CHT301273


如需本文中的 Microsoft Visual C# .NET 版本,請參閱 308359
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您,如何撰寫簡單的 Web 服務,稱為 MathService,提供加、減、乘、除兩個數字的方法。

需求

以下項目說明建議使用的所需硬體、軟體、網路基礎結構、技巧和知識以及 Service Pack:
  • Microsoft Windows 2000 Professional、Windows 2000 Server、Windows 2000 Advanced Server 或 Windows NT 4.0 Server
  • Microsoft Internet Information Server 4.0 或 Internet Information Server 5.0
  • Microsoft Visual Studio .NET
本文假設您熟悉下列主題:
  • 如何使用 Visual Studio .NET 整合式開發環境

撰寫簡單的 .asmx Web 服務

  1. 開啟 Visual Studio .NET。
  2. 建立新的 Active Server Pages (ASP) .NET Web 服務專案。將 Web 服務命名為 MathService ,需要時將位置指向正在執行 ASP.NET 的適當 Web 伺服器。
  3. 將該方案檔案的名稱變更為 MathService 以保持一致性。
  4. 將從 Service1.asmx 建立的預設 Web 服務名稱變更為 MathService.asmx
  5. 在設計師環境中按一下 [請按一下此處切換至程式碼檢視] 切換成程式碼檢視。
  6. 定義用來封裝您服務功能的方法。從服務顯露的每個方法必須在前面以 WebMethod 屬性作標示。沒有這個屬性,方法就不會從服務顯露。

    注意 :不是每個方法都需要有 WebMethod 屬性。在隱藏由公用 Web 服務方法呼叫的部分實作資訊,或當 WebService 類別也用在本機應用程式時很有用。本機應用程式可使用任何公用類別,但只有 WebMethod 方法可像 Web 服務般遠端存取。

    將以下方法新增到您剛剛建立的 MathServices 類別:
    <WebMethod()> Public Function Add(a As Integer, b As Integer) As Integer
       Return(a + b)
    End Function
    
    <WebMethod()> Public Function Subtract(A As System.Single, B As System.Single) As System.Single
           Return A - B
    End Function
    
    <WebMethod()> Public Function Multiply(A As System.Single, B As System.Single) As System.Single
           Return A * B
    End Function
    
    <WebMethod()> Public Function Divide(A As System.Single, B As System.Single) As System.Single
    If B = 0
    Return -1
    End If
    Return Convert.ToSingle(A / B)
    End Function
  7. [建置] 功能表的 [建置] 上按一下來建置 Web 服務。
  8. 瀏覽到 MathService.asmx Web 服務網頁來測試 Web 服務。若您將主機電腦設為裝載該頁面, URL 為 http://localhost/MathService/MathService.asmx。

    ASP.NET 執行階段會傳回描述 Web 服務的 Web 服務說明網頁。本頁也可供您測試不同 Web 服務方法。

使用 Web 服務

  1. 開啟 Visual Studio .NET。
  2. 建立新的主控台應用程式專案。
  3. 將 MathService Web 服務的參考新增到新的主控台應用程式。

    此步驟是在用戶端電腦上建立 Proxy 類別。Proxy 類別存在後,您可根據該類別建立物件。使用該物件製作的每個方法呼叫會到 Web 服務 (通常作為 SOAP 要求) 的 Uniform Resource Identifier (URI)。
    1. [專案] 功能表,按一下 [加入 Web 參考]
    2. [加入 Web 參考] 對話方塊中,在 [位址] 文字方塊中鍵入 Web 服務的 URL,再按 ENTER。若您將主機電腦設為裝載該 Web 服務時,URL 為 http://localhost/MathService/MathService.asmx。
    3. 按一下 [加入參考]
    4. 展開「方案總管」的 [Web 參考] 區段,並注意使用的命名空間。
  4. 建立所建立 Proxy 物件的執行個體。將以下程式碼放在 Module1 模組的 Main 程序中:
    Dim myMathService As localhost.MathService = New localhost.MathService()
  5. Invoke a method on the proxy object created in the previous step:
    Console.Write("2 + 4 = {0}", myMathService.Add(2,4))
  6. 關閉並儲存專案。

?考

使用 Web 服務撰寫 Web 程式 (Visual Studio .NET 說明)

ASP.NET Web 服務和 ASP.NET Web 服務用戶端 (Microsoft .NET Framework 開發人員指南)

Web Services Essentials, MSDN Online Library:
http://msdn.microsoft.com/library/default.asp?URL=/library/techart/Webservicesessentials.htm
Extreme XML: XML Web Service-Enabled Office Documents (MSDN Voices 專欄):
http://msdn.microsoft.com/library/welcome/dsmsdn/xml03192001.htm
Extreme XML: UDDI: An XML Web Service (MSDN Voices 專欄):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml12182000.asp
Web Services Description Language Tool (Wsdl.exe) (Microsoft .NET Framework Tools)

DHTML Dude: Accessing Web Services From DHTML (MSDN Voices 專欄):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndude/html/dude01222001.asp

如需詳細資訊,請參閱下列書籍:
Michael Halvorson《 Microsoft Visual Basic .NET Step by Step 》 , Microsoft Press, 2001
如需詳細資訊,請參閱下列 Microsoft Training & Certification 課程:
Microsoft Corporation 2524 Developing Web Services using Microsoft Visual Studio .NET


本文件是根據 Microsoft Knowledge Base 文件編號 Q301273 翻譯的。若要參考原始英文文件內容,請至以下網址:

http://support.microsoft.com/support/kb/articles/Q301/2/73.asp

屬性

文章編號: 301273 - 上次校閱: 2006年9月26日 - 版次: 4.0
這篇文章中的資訊適用於:
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
關鍵字:?
kbhowto kbhowtomaster KB301273
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com