共用方式為


類型化用戶端

TypedClient 範例示範如何從 ServiceModel 元數據公用程式工具 (Svcutil.exe) 所產生的具型別用戶端取得資訊。 這個範例是以實作計算機服務的使用者入門範例為基礎。 在此範例中,用戶端是控制台應用程式(.exe),而服務是由 Internet Information Services (IIS) 所裝載。

備註

此範例的安裝程式和建置指示位於本主題結尾。

用戶端的 Endpoint 屬性允許存取用戶端所通訊之服務端點的相關信息,包括位址、系結和合約資訊。 用戶端的 InnerChannel 屬性是 的實例 IClientChannel ,可讓您存取基礎通道的相關信息,例如其狀態和會話標識碼。

// Create a client.
CalculatorClient client = new CalculatorClient();
...
Console.WriteLine("Client - endpoint:  " + client.Endpoint.Address);
Console.WriteLine("Client - binding:  " + client.Endpoint.Binding.Name);
Console.WriteLine("Client - contract: " + client.Endpoint.Contract.Name);

IClientChannel channel = client.InnerChannel;
Console.WriteLine("Client channel - state: " + channel.State);
Console.WriteLine("Client channel - session identifier: " + channel.SessionId);

//Closing the client gracefully closes the connection and cleans up resources.
client.Close();

當您執行範例時,作業要求和回應會顯示在用戶端控制台視窗中。 在客戶端視窗中按 ENTER 鍵以關閉用戶端。

Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714

Client - endpoint:  http://localhost/servicemodelsamples/service.svc
Client - binding:  WSHttpBinding
Client - contract: ICalculator
Client channel - state: Opened
Client channel - session identifier: urn:uuid:ae16fbc4-2964-4e87-9fb1-c5aa78fc567e

Press <ENTER> to terminate client.

要設定、建置和執行範例,請執行以下步驟:

  1. 請確定您已針對 Windows Communication Foundation 範例 執行One-Time 安裝程式。

  2. 若要建置解決方案的 C# 或 Visual Basic .NET 版本,請遵循建置 Windows Communication Foundation 範例 中的指示。

  3. 若要在單一或跨計算機組態中執行範例,請遵循執行 Windows Communication Foundation 範例 中的指示。