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

ASP.NET Discussion :

perte de l'objet Remoting!


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 70
    Par défaut perte de l'objet Remoting!
    Bonjour,

    j'ai un gros souci avec le Remoting, je vous expose mon problème:

    -j'ai un Service Windows qui expose un Objet ExpObj et consomme un autre objets ConsomObj lors de son démarrage!et ça marche nickel!

    -Expose un objet Remoting (ExpObj ) qui va être consommé par une appli Asp.net
    -Consomme un objet Remoting (ConsomObj ) exposé par un 2ieme Service Windows!

    <=: expose
    =>: consomme

    Web =>ExpObj <=SrvWindws1=>ConsomObj <=SrvWindws2

    mon souci c'est quand j'invoque une méthode de ExpObj depuis mon appli Web (ExpObj .Test() ) qui a son tour invoque une méthode de ConsomObj dans le SrvWindws1 !

    code dans le SrvWindws1 :
    void ExpObj .Test
    {
    .....
    ConsomObj .methode();
    }

    je reçois une erreur car mon ConsomObj est Apparemment NULL alors qu'il est bien consommé lors du démarrage mon SrvWindws1 !

    donc je perd la référence de l'objet ConsomObj ..chose que je ne comprends pas!!!

    Merci de votre c'est super Urgent!

  2. #2
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 49
    Par défaut
    les objet remoting ont une certaine durée de vie(par défaut c'est de l'ordre de 5minute, 2minute de plus par apelle il me semble)

    si tu peut mettre le code complet de mise a disposition de l'objet etc ca serait plus clair

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 70
    Par défaut
    Citation Envoyé par kinnou Voir le message
    les objet remoting on une certaines durée de vie

    si tu peut mettre le code complet de mise a disposition de l'objet etc ca serait plus clair
    Merci pour ta réponse.

    j'expose les Objets dans chaque SrvWindows autant que Singleton et sa durée de vie est illimitée

    // Indique que l'objet aura une durée de vie illimitée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class ExpObj: MarshalByRefObject
    {
    public override object InitializeLifetimeService()
    {
    return null;
    }
    ....
    }

    ma page aspx

    j'invoque la méthode Test de l'objet Exposé par le SrvWindows1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     private string maMethode()
        {
     
            ObjetRemotingSrvWin1.Test() ;
        ...
     }
    Définition de l'objet exposé dans SrvWindows1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class ExpObj: MarshalByRefObject
    {
     
    public override object InitializeLifetimeService()
    {
    return null;
    }
    public void Test()
            {
                Program.SrvWindows1.TestExposeObject();
     
            }
    }
    Definition de la méthode TestExposeObject


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public class SrvWindows1
     
    {
     //Objet exposé par le SrvWin2 est consommé par le SrvWin1 lors du demarrage
      private SiRemoteObjectSrvWin2  RemoteObject = null;
     
    public void TestExposeObject()
    {
      RemoteObject.Start(); '<= mon Object RemoteObject est null alors qu il est bien consomé lors du demarrage de SrvWin1
    }
    ....
     
    }
    en gros je perd la référence sur le RemoteObject !!

  4. #4
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 49
    Par défaut
    je voulais le bout de code ou tu récupére vraiment ton objet:
    en gros ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    serv = (IServeur)Activator.GetObject(typeof(IServeur), connection);//obtention d'un proxy vers un objet Serveur 
    service = serv.start(this);//obtention du service distant qui effecturas les recherches

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 70
    Par défaut
    Citation Envoyé par kinnou Voir le message
    je voulais le bout de code ou tu récupére vraiment ton objet:
    en gros ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    serv = (IServeur)Activator.GetObject(typeof(IServeur), connection);//obtention d'un proxy vers un objet Serveur 
    service = serv.start(this);//obtention du service distant qui effecturas les recherches

    le voila!

    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
    private void GetObjectFromSrvWindows2()
            {
                try
                {
                    TcpChannel channel = new TcpChannel();
     
     
                    ChannelServices.RegisterChannel(channel, true);
     
                    RemoteObject = (SiServeur)Activator.GetObject(
                    typeof(SiServeur),
                    "tcp://host:port/RemoteObject");
     
                }
                catch (Exception ex)
                {
                    ....................
                }
            }

  6. #6
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 49
    Par défaut
    a aucun moment dans le code que j'ai la, tu ne fait appelle a GetObjectFromSrvWindows2()

    et si tu perd réellement la référence de l'objet, ca viendras probablement d'une erreur d'algo, j'ai pas mal utilisé le remoting ces dernier temps, jamais eu ce probléme

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 70
    Par défaut
    j'ai trouvé la solution!

    avant d'invoquer une méthode de l'objet remoting faut le reconsommer!
    genre..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RemoteObject = (SiServeur)Activator.GetObject(
                                       typeof(SiServeur),
                                        connexion);
     
                   RemoteObject.Sart();
    moi je pensé qu'une seule consommation de l'objet remoting est suffisante lors du demarrage mais apparemment non!

    en tout cas MERCI tu ma ouvert les yeux

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

Discussions similaires

  1. RMI - Passer un objet Remote en paramètre d'une méthode
    Par benji1801 dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 13/02/2011, 15h39
  2. Appel d'un objet remoting à partir d'un web service
    Par Bal1n dans le forum Services Web
    Réponses: 2
    Dernier message: 02/08/2010, 16h54
  3. Objets & Remoting
    Par Ishida dans le forum C#
    Réponses: 2
    Dernier message: 18/01/2008, 15h39
  4. Equals dans objet remote: Identity/ServerIdentity cast exception
    Par joebarthib dans le forum Windows Forms
    Réponses: 1
    Dernier message: 13/02/2007, 14h20
  5. Perte d'informations d'un objet initialisé dans un thread
    Par Progs dans le forum Threads & Processus
    Réponses: 4
    Dernier message: 21/11/2005, 20h17

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