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 :

[Ipc] BugMystic: au bout de 5 minutes l'obj MarshalByRefObject est detruit !


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Par défaut [Ipc] BugMystic: au bout de 5 minutes l'obj MarshalByRefObject est detruit !
    Bjr,

    j'ai un probleme assez mystique, j'ai créé un server IPC toujours lancé, mais si le client ne fait pas d 'appel a lui pendant 5 minutes, le client leve une exeption "l'objet a été deconnecté ou n'existe pas sur le serveur.


    par contre je ne peut pas créé un autre server pendant que mon premier server "bugger" tourne...

    les 5 minutes ont l'air vraiment etrange.... ca ressemble a un Timeout mais je n'ai vu aucunes options de ce gout la.....

    cela peut etre du a un timeout de l ipc ou du thread qui le contient... je ne connais pas vraiment bien les thread si quelqu un peu me dire si ca ressemble a un probleme qui si rapporte....

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Par défaut
    hum.... j'ai un peu plus isolé le probleme je crois:

    - le probleme vient du fait que l'objet MarshalByRefObject a une durée de vie limité...

    je tiens a preciser que le probleme a lieu sur un exemple meme tout simple de la msdn sur l ipcchannel

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Par défaut
    si vous voulez tester:


    pensez a ajouter en reference a votre projet le system.runtime.remoting

    le code du server:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    using System;
    using System.Runtime.Remoting;
    using System.Runtime.Remoting.Channels;
    using System.Runtime.Remoting.Channels.Ipc;
     
    public class IpcServer
    {
     
        public static void Main()
        {
     
            IpcServerChannel serverChannel = new IpcServerChannel("namesrv", "portsrv");
            ChannelServices.RegisterChannel(serverChannel, false);
            RemotingConfiguration.RegisterWellKnownServiceType(typeof(Counter), "counter", WellKnownObjectMode.Singleton);
            Console.WriteLine("Listening on {0}", serverChannel.GetChannelUri());
            Console.ReadLine();
        }
     
    }
     
    public class Counter : MarshalByRefObject
    {
     
        private int count = 0;
     
        public int Count
        {
            get
            {
                return (count++);
            }
        }
     
    }


    le code du client:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    using System;
    using System.Runtime.Remoting;
    using System.Runtime.Remoting.Channels;
    using System.Runtime.Remoting.Channels.Ipc;
     
     
    public class Client
    {
        public static void Main()
        {
            IpcClientChannel clientChannel = new IpcClientChannel();
            ChannelServices.RegisterChannel(clientChannel, false);
     
            RemotingConfiguration.RegisterWellKnownClientType(typeof(Counter), "ipc://portsrv/counter");
     
            Counter counter = new Counter();
            Console.WriteLine("This is call number {0}.", counter.Count);
            Console.ReadLine();
        }
     
    }
     
    public class Counter : MarshalByRefObject
    {
     
        private int count = 0;
     
        public int Count
        {
            get
            {
                return (count++);
            }
        }
     
    }


    au bout de 5 minutes le compteur count est reinitialisé a 0 .... mystere

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Par défaut
    la reponse semble etre la:
    http://msdn.microsoft.com/msdnmag/is...r/default.aspx


    maintenant faut que je pige...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Par défaut
    RESOLU


    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
    public class Counter : MarshalByRefObject
    {
     
        private int count = 0;
     
        public int Count
        {
            get
            {
                return (count++);
            }
        }
     
        public override object InitializeLifetimeService()
        {
            return null;
        }
     
     
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Freebox - Wifi] Internet se coupe au bout de quelques minutes
    Par 4rocky4 dans le forum Dépannage et Assistance
    Réponses: 8
    Dernier message: 10/03/2009, 10h54
  2. Perte de session au bout de 15 minutes
    Par Therambok dans le forum ASP
    Réponses: 4
    Dernier message: 16/12/2008, 11h44
  3. Connexion à internet au bout de quelques minutes
    Par saigon dans le forum Windows XP
    Réponses: 5
    Dernier message: 25/08/2008, 04h06
  4. Réponses: 3
    Dernier message: 01/04/2008, 22h44
  5. Réponses: 9
    Dernier message: 10/05/2006, 19h55

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