IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#][Service Win.][Client/serveur] Vérifier la présence d'un serveur par remoting


Sujet :

C#

  1. #1
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 35
    Par défaut [C#][Service Win.][Client/serveur] Vérifier la présence d'un serveur par remoting
    Bonjour,

    J'ai un service window qui fait aussi office d'application serveur. dans mon application client je souhaiterai lister les machines du réseau qui posséde ce serveur. J'ai ma liste de pc sur le réseau pas de soucis, ensuite je souhaiterai savoir pour chaque machine si celle-ci a un serveur qui tourne. Pour cela je fait ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
            public IService GetServeurInterface(string domain)
            {
                StringBuilder ServeurConnect = new StringBuilder();
                ServeurConnect.AppendFormat("tcp://{0}:1069/UtilService",
     domain);
     
                IService ServInterface = null;
                ServInterface = (IService)Activator.GetObject(typeof(IService),
     ServeurConnect.ToString( ) );
                try
                {
                    ServInterface.TestInterface();
                }
                catch (Exception)
                {
                    // l'interface est pas bonnne le serveur n'est pas branché on
     renvoi null
                    return null;
                }
                return ServInterface;
            }
    Cela fonctionne mais j'ai un gros pb de lenteur. Vu que je suis obligé d'appeler une méthode sur mon objet pour que celui-ci soit complétement instancié.

    Existe-il une autre méthode qui me permet tester si la machine possède ou non un serveur. Merci d'avance

  2. #2
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    J'imagine que ton prob de lenteur est du au fait que le timeout du remoting est de 45secs ? (je crois que c'est 45secs)

  3. #3
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 35
    Par défaut
    Existerait il un moyen de modifier cette valeur de timeout. j'ai chercher partout net + doc et je n'ai rien trouvé.

    Ou alors il faut que je change ma facon de faire ?

  4. #4
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 35
    Par défaut
    Alors pour modifier le timeout du TCPChannel il faut passe par le dictionnaire de propriété

    comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    System.Collections.Hashtable dict = new System.Collections.Hashtable();
    dict["timeout"] = 100;
    TcpChannel Chanl = new TcpChannel(dict, null, null);
    ChannelServices.RegisterChannel(Chanl,false);
    Mais ca change ne rien je suis a environ 3 sec par machine testée

Discussions similaires

  1. Réponses: 7
    Dernier message: 03/10/2008, 17h39
  2. Réponses: 2
    Dernier message: 28/02/2008, 12h09
  3. Réponses: 5
    Dernier message: 25/02/2008, 21h08
  4. vérifier la présence d'un lecteur PDF sur le poste client ?
    Par Bobabar dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/03/2006, 21h02
  5. Réponses: 2
    Dernier message: 23/03/2006, 19h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo