Maison >développement back-end >C++ >Comment minimiser la communication WCF à l'aide de canaux nommés ?
Utilisation de canaux nommés dans WCF : un exemple minimal
Problème :
Comment établir communication minimale entre un serveur WCF et un client à l'aide de canaux nommés, remplaçant les points de terminaison HTTP et l'échange de métadonnées mécanismes.
Réponse :
Configuration du point de terminaison du serveur :
Remplacez la configuration du point de terminaison HTTP fournie par la configuration de canal nommé suivante :
<endpoint address="net.pipe://localhost/CalculatorService" binding="netNamedPipeBinding" contract="ICalculator" name="NetNamedPipeBinding_ICalculator"> <identity> <userPrincipalName value="OlegPc\Oleg" /> </identity> </endpoint>
Hébergement du Service :
Modifier le code d'hébergement du service pour utiliser des canaux nommés :
// Use NetNamedPipeBinding instead of WSHttpBinding ServiceHost selfHost = new ServiceHost(typeof(CalculatorService)); selfHost.AddServiceEndpoint( typeof(ICalculator), new NetNamedPipeBinding(), "CalculatorService");
Générer le client :
Supprimer tout le code associé en HTTP et remplacez-le par le code spécifique au canal suivant :
// Use NetNamedPipeBinding instead of WSHttpBinding Binding binding = new NetNamedPipeBinding(); EndpointAddress endpoint = new EndpointAddress("net.pipe://localhost/CalculatorService");
Exemple Projet :
Référez-vous au didacticiel lié pour un exemple de projet complet présentant la communication par canal nommé dans WCF. Vous pouvez adapter ce projet en supprimant le code lié à HTTP pour créer un exemple minimal de canal uniquement.
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!