Maison >développement back-end >C++ >Comment créer une application WCF minimale à l'aide de canaux nommés ?

Comment créer une application WCF minimale à l'aide de canaux nommés ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-05 11:59:47624parcourir

How to Create a Minimal WCF Application Using Named Pipes?

Communication par canal nommé WCF : un exemple minimal

Question : Comment puis-je créer une application WCF simple qui utilise canaux nommés pour communication ?

Réponse :

Pour établir une communication via des canaux nommés dans WCF, les étapes suivantes sont nécessaires :

Configuration du serveur :

  • Remplacement du point de terminaison Adresse :
<endpoint address="net.pipe://localhost/[pipe_name]"
    binding="netNamedPipeBinding" bindingConfiguration=""
    contract="ICalculator" name="NetNamedPipeBinding_ICalculator">
</endpoint>
  • Configuration de l'hôte du service :
// 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);

Configuration du client :

  • Génération du 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();

Ces modifications garantissent que l'application WCF communique via le canal nommé spécifié, permettant une communication directe entre les applications serveur et client.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn