型別用戶端
TypedClient 範例示範如何取得 ServiceModel 中繼資料公用程式工具 (Svcutil.exe) 所產生之型別用戶端的資訊。 這個範例是以實作計算機服務的使用者入門範例為基礎。 在這個範例中,用戶端是主控台應用程式 (.exe),而服務則是由網際網路資訊服務 (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.
若要安裝、建置及執行範例
若要建置方案的 C# 或 Visual Basic .NET 版本,請遵循 Building the Windows Communication Foundation Samples中的指示。
若要在單一或多部電腦組態中執行此範例,請遵循執行 Windows Communication Foundation 範例中的指示進行。