Läs på engelska

Dela via


Imperativ för anpassad bindning

Imperativt exempel visar hur du skriver imperativ kod för att definiera och använda anpassade bindningar utan att använda en konfigurationsfil eller en WCF-genererad klient (Windows Communication Foundation). Det här exemplet kombinerar de funktioner som tillhandahålls av HTTP-transporten och den tillförlitliga sessionskanalen för att skapa en tillförlitlig HTTP-baserad bindning. Det här exemplet baseras på komma igång som implementerar en kalkylatortjänst.

Anteckning

Installationsproceduren och bygginstruktionerna för det här exemplet finns i slutet av det här avsnittet.

På både klienten och tjänsten skapas en anpassad bindning som innehåller två bindningselement (Reliable Session och 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);

I tjänsten används bindningen genom att lägga till en slutpunkt i ServiceHost:

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

På klienten används bindningen av en ChannelFactory för att skapa en kanal till tjänsten:

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

Den här kanalen används sedan för att interagera med tjänsten:

// 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);

När du kör exemplet visas åtgärdsbegäranden och svar i klientkonsolfönstret. Tryck på RETUR i klientfönstret för att stänga av klienten.

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.

Så här konfigurerar du, skapar och kör exemplet

  1. Se till att du har utfört engångsinstallationsproceduren för Windows Communication Foundation-exempel.

  2. Om du vill skapa C# eller Visual Basic .NET-versionen av lösningen följer du anvisningarna i Skapa Windows Communication Foundation-exempel.

  3. Om du vill köra exemplet i en konfiguration med en eller flera datorer följer du anvisningarna i Köra Windows Communication Foundation-exempel.

Se även


Ytterligare resurser