Je travaille sur une application qui utilise .net remoting pour IPC..net Remoting: détecter si un serveur ne fonctionne pas
Lorsque mon application client démarre, il utilise le code suivant pour se connecter au serveur:
chnl = gcnew HttpChannel();
ChannelServices::RegisterChannel(chnl, false);
IPCObjectInstance = (BaseRemoteObject)Activator.GetObject(
typeof(BaseRemoteObject),
"http://localhost:1237/MyRemoteObject.soap");
Et, quand je fais mon appel de fonction, j'utilise le code suivant:
BaseRemoteObject.GetFileTextDelegate svd = new BaseRemoteObject.GetFileTextDelegate(IPCObjectInstance, BaseRemoteObject.GetFileText);
AsyncCallback callback = new AsyncCallback(this, &ClientGUI.RecievedStringText);
IAsyncResult arValSet = svd.BeginInvoke(callback, null);
Ce code fonctionne grand tel quel. Toutefois, je souhaite que mon client détecte si le serveur est en cours d'exécution et affiche le message d'erreur approprié. Lorsque le serveur n'est pas en cours d'exécution, le client attend environ 3 secondes avant de déclencher une exception Web (voir en bas).
Il n'y a pas d'erreur "location", donc je ne suis pas sûr de savoir où placer le bloc try \ catch.
Quelle est la meilleure façon de détecter que mon serveur ne fonctionne pas?
Merci!
La fonction DoNothing appelée synchrone a bien fonctionné, merci! – greggorob64