Heim >Backend-Entwicklung >C++ >Wie erstelle ich eine minimale WCF-Anwendung mit benannten Pipes?

Wie erstelle ich eine minimale WCF-Anwendung mit benannten Pipes?

Susan Sarandon
Susan SarandonOriginal
2025-01-05 11:59:47584Durchsuche

How to Create a Minimal WCF Application Using Named 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:

  • Ersetzen des Endpunkts Adresse:
<endpoint address="net.pipe://localhost/[pipe_name]"
    binding="netNamedPipeBinding" bindingConfiguration=""
    contract="ICalculator" name="NetNamedPipeBinding_ICalculator">
</endpoint>
  • Konfigurieren des Service-Hosts:
// 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:

  • Generieren der Client:
// 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn