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

Windows Communication Foundation .NET Discussion :

CommunicationObjectFaultedException State reste en Opened


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut CommunicationObjectFaultedException State reste en Opened
    Bonjour à tous.

    Je fais du nettcp binding.

    Je pensais me prémunir de l'exception citée dans le titre, en m'assurant que mon ChannelFactory ait un State == Opened avant d'appeller des methodes de mon service.

    Or je constate qu'apres une coupure de connection, State reste à Opened, mais lorsque j'appelle mon service j'obtien l'exception CommunicationObjectFaultedException

    Sauriez vous SVP me dire pourquoi ChannelFactory ne bascule pas en Faulted?
    ou
    Comment s'assurer que je peux appeller mon service, qu'il est dispo?

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Combien d'instance du service sont lancées sont créées sur ton serveur (statefull ou stateless) ?

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    Et bien justement, j'ai découvert ceci en ne lancant pas le service, donc personne à l'écoute !

    Coté client, avant d'appeller la moindre methode du contrat, je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private void ForceConnect()
    {   if (m_channelfact == null )
          m_channelfact = new ChannelFactory<IMonService>(new NetTcpBinding(), "net.tcp://blablabla");
      if(m_channelfact.State != CommunicationState.Opened)
           m_serviceClient = m_channelfact.CreateChannel();
    }
    Au lancement, ForceConnect ne leve aucune exception, et m_channelfact.State == Opened. Ce qui est faux!!! vu qu'il n'y a pas de serveur derriere...

    J'appelle ensuite m_serviceClient.UneMethodeDuContrat()
    et la au bout de N Secondes, ca leve une exception pour dire que le serveur ne répond pas.

    Arrivé la, lorsque j'appelle ForceConnect, celui ci ne fait rien, car pour lui m_channelfact.State vaut toujours Opened !?!?! (premiere incompréhension totale)

    Et c'est là où si j'appelle de nouveau m_serviceClient.UneMethodeDuContrat()
    j'obtient l'exception du titre de ce topic, disant qu'on est en faulted.

    Conclusion : j'y comprends rien

  4. #4
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Pourquoi est tu obligé de passer par une fabrique de Channel ?

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    euh

    C'est comme cà que j'ai appris

    c'est mal?

    PS : merci pour tes réponses...

  6. #6
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Est ce que tu as déjà essayé cette methode ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class Test
    {
        static void Main()
        {
            MonServiceClient client = new MonServiceClient();
     
            // Use the 'client' variable to call operations on the service.
     
            // Always close the client.
            client.Close();
        }
    }

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

Discussions similaires

  1. Réponses: 16
    Dernier message: 27/05/2017, 10h14
  2. [Kylix] [Kylix 3] Installation version Open
    Par muadib dans le forum EDI
    Réponses: 1
    Dernier message: 14/03/2003, 16h37
  3. [Kylix] Télécharger Kylix 3 Open Edition
    Par RDM dans le forum EDI
    Réponses: 2
    Dernier message: 27/08/2002, 11h28
  4. Choix d'un EDI pour la 3D (Open GL, Portable)
    Par Riko dans le forum OpenGL
    Réponses: 6
    Dernier message: 01/08/2002, 12h25
  5. TBitBtn reste enfoncé
    Par TRINCAL Sylvain dans le forum C++Builder
    Réponses: 8
    Dernier message: 25/06/2002, 16h31

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