共用方式為


自定義系結命令式

命令式範例示範如何在不使用組態檔或 Windows Communication Foundation (WCF) 產生的客戶端的情況下,撰寫命令式程式代碼來定義和使用自定義系結。 此範例結合了 HTTP 傳輸和可靠會話通道所提供的功能,以建立可靠的 HTTP 型系結。 這個範例是以實作計算機服務的使用者入門範例為基礎。

備註

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

在用戶端和服務上,會建立包含兩個綁定項的自定義系結(Reliable Session 和 HTTP):

ReliableSessionBindingElement reliableSession = new ReliableSessionBindingElement();
reliableSession.Ordered = true;

HttpTransportBindingElement httpTransport = new HttpTransportBindingElement();
httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;

CustomBinding binding = new CustomBinding(reliableSession, httpTransport);

在服務上,系結是藉由將端點新增至 ServiceHost 來使用:

serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, "");

在客戶端,綁定是由 ChannelFactory 用來建立與服務之間的通道:

EndpointAddress address = new EndpointAddress("http://localhost:8000/servicemodelsamples/service");
ChannelFactory<ICalculator> channelFactory = new ChannelFactory<ICalculator>(binding, address);
ICalculator channel = channelFactory.CreateChannel();

接著,此通道會用來與服務互動:

// Call the Add service operation.
double value1 = 100.00D;
double value2 = 15.99D;
double result = channel.Add(value1, value2);
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);

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

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

Press <ENTER> to terminate client.

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

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

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

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

另請參閱