Share via


教學課程:建立 Windows Communication Foundation 用戶端

本教學課程說明建立基本 Windows Communication Foundation (WCF) 應用程式所需的五項工作中的第四項。 如需教學課程的概觀,請參閱教學課程:開始使用 Windows Communication Foundation 應用程式

建立 WCF 應用程式的下一項工作,是從 WCF 服務擷取中繼資料以建立用戶端。 您可以使用 Visual Studio 新增服務參考,以從服務的 MEX 端點取得中繼資料。 Visual Studio 隨後會以您選擇的語言,為用戶端 Proxy 產生受控原始程式碼檔案。 此外也會建立用戶端組態檔 (App.config)。 此檔案可讓用戶端應用程式連線至端點上的服務。

注意

從 Visual Studio 中的類別庫專案呼叫 WCF 服務時,您可以使用 [新增服務參考] 功能自動產生 Proxy 與相關聯的組態檔。 不過,由於類別庫專案不會使用此組態檔,您必須將產生的組態檔中的設定新增至呼叫類別庫之可執行檔的 App.config 檔案。

注意

或者,請使用 ServiceModel 中繼資料公用程式工具 (而不是 Visual Studio) 來產生 Proxy 類別和組態檔。

用戶端應用程式會使用產生的 Proxy 類別來建立與服務通訊的用戶端。 使程序的說明請見教學課程:使用用戶端

在本教學課程中,您會了解如何:

  • 建立及設定 WCF 用戶端的主控台應用程式專案。
  • 將服務參考新增至 WCF 服務,以產生 Proxy 類別和組態檔。

建立 Windows Communication Foundation 用戶端

  1. 在 Visual Studio 中建立主控台應用程式專案:

    1. 從 [檔案] 功能表中選取 [開啟]>[專案/解決方案],然後瀏覽至您先前建立的 GettingStarted 解決方案 (GettingStarted.sln)。 選取開啟

    2. 從 [檢視] 功能表中選取 [方案總管]

    3. 在 [方案總管] 視窗中選取 [GettingStarted] 解決方案 (最上層節點),然後從捷徑功能表中選取 [新增]>[新增專案]

    4. 在 [新增專案] 視窗左側,選取 [Visual C#] 或 [Visual Basic] 底下的 [Windows 桌面] 類別。

    5. 選取 [主控台應用程式 (.NET Framework)] 範本,然後輸入 GettingStartedClient 作為 [名稱]。 選取 [確定]。

  2. GettingStartedClient 專案中的參考新增至 System.ServiceModel 組件:

    1. 在 [方案總管] 視窗中,選取 GettingStartedClient 專案底下的 [參考] 資料夾,然後從捷徑功能表中選取 [新增參考]

    2. 在 [新增參考] 視窗左側,選取 [組件] 底下的 [架構]

    3. 尋找並選取 System.ServiceModel,然後選擇 [確定]

    4. 選取 [檔案]>[全部儲存] 以儲存解決方案。

  3. 將服務參考新增至計算機服務:

    1. 在 [方案總管] 視窗中,選取 GettingStartedClient 專案底下的 [參考] 資料夾,然後從捷徑功能表中選取 [新增服務參考]

    2. 在 [新增服務參考] 視窗中,選取 [探索]

      CalculatorService 服務隨即啟動,Visual Studio 會將其顯示在 [服務] 方塊中。

    3. 選取 CalculatorService 加以展開,並顯示服務所實作的服務合約。 保留預設的 [命名空間],然後選擇 [確定]

      Visual Studio 會在 GettingStartedClient 專案中的 [已連線的服務] 資料夾底下新增項目。

ServiceModel 中繼資料公用程式工具

下列範例說明如何選擇性地使用 ServiceModel 中繼資料公用程式工具 (Svcutil.exe) 來產生 Proxy 類別檔案。 此工具會產生 Proxy 類別檔案和 App.config 檔案。 下列範例分別說明如何在 C# 和 Visual Basic 中產生 Proxy:

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/GettingStarted/CalculatorService
svcutil.exe /language:vb /out:generatedProxy.vb /config:app.config http://localhost:8000/GettingStarted/CalculatorService

用戶端組態檔

在您建立用戶端後,Visual Studio 會在 GettingStartedClient 專案中建立 App.config 組態檔,如下列範例所示:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup>
            <!-- specifies the version of WCF to use-->
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
        </startup>
        <system.serviceModel>
            <bindings>
                <!-- Uses wsHttpBinding-->
                <wsHttpBinding>
                    <binding name="WSHttpBinding_ICalculator" />
                </wsHttpBinding>
            </bindings>
            <client>
                <!-- specifies the endpoint to use when calling the service -->
                <endpoint address="http://localhost:8000/GettingStarted/CalculatorService"
                    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ICalculator"
                    contract="ServiceReference1.ICalculator" name="WSHttpBinding_ICalculator">
                    <identity>
                        <dns value="localhost" />
                    </identity>
                </endpoint>
            </client>
        </system.serviceModel>
    </configuration>

請留意 <system.serviceModel> 區段底下的 <endpoint> 元素。 <endpoint> 元素會定義用戶端用來存取服務的端點,如下所示:

  • 位址:http://localhost:8000/GettingStarted/CalculatorService。 端點的位址。
  • 服務合約:ServiceReference1.ICalculator。 服務合約會處理 WCF 用戶端與服務之間的通訊。 Visual Studio 在您使用其 [新增服務參考] 功能時產生了此合約。 這基本上是您在 GettingStartedLib 專案中定義之合約的複本。
  • 繫結:WSHttpBinding。 繫結會指定 HTTP 為傳輸、互通安全性,與其他組態詳細資料。

下一步

在本教學課程中,您已了解如何:

  • 建立及設定 WCF 用戶端的主控台應用程式專案。
  • 將服務參考新增至 WCF 服務,以產生用戶端應用程式的 Proxy 類別和組態檔。

前往下一個教學課程,了解如何使用產生的用戶端。