Heim >Backend-Entwicklung >C++ >Wie erstelle ich eine minimale WCF-Anwendung mit benannten Pipes?
WCF Named Pipe Communication: Ein Minimalbeispiel
Frage: Wie kann ich eine einfache WCF-Anwendung erstellen, die verwendet benannte Rohre für Kommunikation?
Antwort:
Um die Kommunikation über Named Pipes in WCF einzurichten, sind folgende Schritte notwendig:
Serverkonfiguration:
<endpoint address="net.pipe://localhost/[pipe_name]" binding="netNamedPipeBinding" bindingConfiguration="" contract="ICalculator" name="NetNamedPipeBinding_ICalculator"> </endpoint>
// Create a URI using the named pipe format Uri baseAddress = new Uri("net.pipe://localhost/[pipe_name]"); // Create a service host ServiceHost selfHost = new ServiceHost(typeof(CalculatorService), baseAddress); // Add the service endpoint using the netNamedPipeBinding selfHost.AddServiceEndpoint(typeof(ICalculator), new NetNamedPipeBinding(), "CalculatorServicePipe"); // Enable metadata exchange for hosting ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); smb.HttpGetEnabled = true; selfHost.Description.Behaviors.Add(smb);
Client-Konfiguration:
// Create a client endpoint for the pipe EndpointAddress endpoint = new EndpointAddress($"net.pipe://localhost/[pipe_name]", endpoint_uri); // Create a new client channel factory ChannelFactory<ICalculator> channelFactory = new ChannelFactory<ICalculator>(new NetNamedPipeBinding(), endpoint); // Obtain a client proxy ICalculator client = channelFactory.CreateChannel();
Diese Änderungen stellen sicher, dass die WCF-Anwendung über die angegebene Named Pipe kommuniziert, was eine direkte Kommunikation zwischen Server- und Clientanwendungen ermöglicht.
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine minimale WCF-Anwendung mit benannten Pipes?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!