命令式範例示範如何在不使用組態檔或 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.
要設定、建置和執行範例,請執行以下步驟:
若要建置解決方案的 C# 或 Visual Basic .NET 版本,請遵循建置 Windows Communication Foundation 範例 中中的指示。
若要在單一或跨計算機組態中執行範例,請遵循執行 Windows Communication Foundation 範例 中的指示。