共用方式為


HOW TO:以 Managed 程式碼存取 Web 服務

更新:2007 年 11 月

從 Managed 程式碼存取 Web 服務是一項簡單的程序。首先,將想要存取之 Web 服務的 Web 參考加入至專案。Web 參考會使用某些方法來建立 Proxy 類別,這些方法是做為每個 Web 服務公開方法的 Proxy。接著,加入 Web 參考的命名空間。最後,建立 Proxy 類別的執行個體,然後存取該類別的方法,就像存取任何其他類別的方法一樣。如需詳細資訊,請參閱程式碼模型:以 Managed 程式碼存取 Web 服務

依預設,加入 Web 參考也會將方法加入至 Proxy 類別,以供非同步方式存取 Web 服務。如需詳細資訊,請參閱HOW TO:以 Managed 程式碼非同步存取 Web 服務

若要以 Managed 程式碼存取 Web 服務

  1. 建立要用來存取 Web 服務的應用程式。這個應用程式甚至可以是另一個 Web 服務。

  2. 加入應用程式將與之互動的 Web 服務的 Web 參考。如需詳細指示,請參閱加入和移除 Web 參考

  3. 在想要存取 Web 服務的用戶端程式碼中建立 Proxy 物件的執行個體。

  4. 存取 Web 服務的方法,就像存取任何其他元件一樣。

    在下列範例程式碼中,用戶端應用程式 (Application1) 會存取 Web 服務,其具有包含 Proxy 類別 (Service1) 的 Web 參考 (Converter),而此 Proxy 類別具有呼叫 Web 服務的方法 (ConvertTemperature)。以粗體字顯示的兩行程式碼是存取 Web 服務的必要項。

    Imports System
    Module Module1
        Sub Main()
            Dim cService As New Converter.Service1()
            Dim dFahrenheit As Double
            Dim dCelsius As Double
            Console.Write("Temperature in degrees Fahrenheit: ")
            dFahrenheit = Convert.ToDouble(Console.ReadLine())
            dCelsius = cService.ConvertTemperature(dFahrenheit)
            Console.Write("Temperature in degrees Celsius: ")
            Console.WriteLine(dCelsius.ToString())
        End Sub
    End Module
    
    using System;
    namespace Application1
    {
       class Class1
       {
          static void Main()
          {
             Converter.Service1 cService = new Converter.Service1();
             Console.WriteLine("Temperature in degrees Fahrenheit: ");
             double dFahrenheit = Convert.ToDouble(Console.ReadLine());
             double dCelsius = cService.ConvertTemperature(dFahrenheit);
             Console.Write("Temperature in degrees Celsius: ");
             Console.WriteLine(dCelsius.ToString());
          }
       }
    }
    

請參閱

概念

建置 XML Web Service 用戶端

其他資源

以 Managed 程式碼存取 Web 服務