2010-07-29 6 views
1

Je configure une connexion WCF nettcp entre un client et un serveur comme une session fiable avec un délai de 7 jours. Le client surveille un processus sur le serveur. La majeure partie de l'activité est le rappel de service au client. Si le service se bloque, comment le client peut-il le détecter et afficher un message "Échec de la connexion"? Ai-je besoin d'envoyer régulièrement un message de type "keep alive" du client au serveur, ou y a-t-il un événement que je peux écouter sur le client?wcf connexion fermée notification

code de liaison My est:

 NetTcpBinding binding = new NetTcpBinding(); 
    var reliableSession = binding.ReliableSession; 
    reliableSession.Enabled = true; 
    reliableSession.Ordered = true; 

Répondre

0

Essayez vous abonner à l'événement Closed du client ou d'un canal. Voir .

+0

Mais cet événement serait-il appelé parce que le serveur est tombé en panne? Comment le client/canal savait-il que le serveur était mort, plutôt que de rester silencieux? –

+0

@Andrew: pas sûr; J'espérais que la session fiable ferait cela, d'où "essayer". –

+0

J'ai un client/serveur qui parle sur NetTcpBinding et quand le côté serveur est fermé de manière ordonnée, le côté client ne déclenche pas les événements Closing ou Closed. –

Questions connexes