Comment puis-je rétablir automatiquement la liaison Named Pipe dans WCF?

Je suis en train d'écrire un service qui s'appelle à partir de l'hôte local. La Performance est importante, donc je pensais que je voudrais essayer le NetNamedPipeBinding au lieu de NetTcpBinding et voir Si je pouvais voir notable des gains de performances.

Si un client, après avoir effectué un ou plusieurs requêtes vers le serveur est inactif pendant une période de temps plus longue la prochaine demande échoue, apparemment en raison de certains temps d'inactivité dans la liaison. La même chose se produit également lorsque le service reçoit redémarré.

J'ai besoin de mes clients pour être en mesure de garder une connexion ouverte tant que c'est permis afin d'éviter les frais généraux associés à la configuration d'une nouvelle connexion. J'ai aussi besoin d'être en mesure de redémarrer le service de temps à autre et ont les clients automatiquement réessayer si ils remarquent que la connexion a été interrompue.

Je sais que c'est suppported par la fiabilité des trucs dans NetTcpBinding mais comment pourrait-on obtenir le même niveau de re-connecter la fiabilité dans le NetNamedPipeBinding? Est-il même possible?

La question est quelque peu théorique car elle n'est pas une obligation d'utiliser des NetNamedPipes, je pourrais tout aussi facilement adopter pour utiliser le protocole tcp-contraignant, mais C'est une démangeaisons et je tiens vraiment à les rayer.

source d'informationauteur Markus Olsson