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 :

Exception levée sans raison.


Sujet :

Windows Communication Foundation .NET

  1. #1
    Membre confirmé Avatar de obitskater
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Par défaut Exception levée sans raison.
    Bonjour à tous,

    Développant une application dans laquelle j'ai implémenté une communication entre les couches hautes et basses avec WCF, tout fonctionnait parfaitement, jusqu'à ce que d'un coup sans changement de ma part au niveau code ou config du service, je me prends une exception que j'ai du mal à cerner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CommunicationException was unhandled
    The server did not provide a meaningful reply; this might be caused by a contract mismatch, a premature session shutdown or an internal server error.
    Ce qui est bizarre, c'est qu'avant d'appeler la méthode qui me jette cette exception, j'ai déjà une autre méthode qui consomme le service, et ce sans problème.

    La méthode qui génére cette erreur retourne un objet custom assez chargée niveau data. C'est un objet qui possède plusieurs propriétés de type List<T>. Mais hier matin cela marchait niquel, et je n'ai rien changé du tout à ce niveau là.

    Bien sûr avant de poster j'ai pas mal recherché sur le net, mais je n'ai rien trouvé de bien concluant, donc si vous avez une idée, je suis preneur. Merci

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Y-a-t-il quelque chose dans le InnerException ?

    Typiquement sur cette situation je vois deux possibilités :

    - profondeur de sérialisation atteinte
    - ou utilisation d'une classe héritée d'un type non référencé via le [KnownTypeAttribute]

  3. #3
    Membre confirmé Avatar de obitskater
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Par défaut
    Salut BlueDeep, merci pour ta réponse,

    Non malheureusement, il n'y a rien dans le InnerException : null.
    Que veux tu dire par profondeur de sérialisation?

    Ce qui est bizarre c'est que je n'ai strictement rien touché dans le code qui à ma connaissance aurait changé la stabilité du service.

  4. #4
    Membre confirmé Avatar de obitskater
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Par défaut
    J'ai trouvé le problème, dans l'objet que retourne la méthode pour laquelle après appel j'avais l'exception, il y a une propriété de type enumeration, l'enum était la suivante:

    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
     
            /// <summary>
            /// Enumération listant les cultures/langues disponibles dans l'application
            /// </summary>
            public enum Culture 
            {  
                /// <summary>
                /// l'application s'éxécute en Français
                /// </summary>
                Francais = 1,
                /// <summary>
                /// l'application s'éxécute en Anglais
                /// </summary>
                Anglais = 2,
                /// <summary>
                /// l'application s'éxécute en Espagnol
                /// </summary> 
                Espagnol = 3,
                /// <summary>
                /// l'application s'éxécute en Allemand
                /// </summary> 
                Allemand = 4,
                /// <summary>
                /// l'application s'éxécute en Suisse-Allemand
                /// </summary>
                Suisse = 5
            }
    Et apparemment le service n'aimait pas les valeurs int rattachées aux membres de l'enum.
    J'ai juste eu besoin de les enlever pour que ce soit bon :

    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
     
            /// <summary>
            /// Enumération listant les cultures/langues disponibles dans l'application
            /// </summary>
            public enum Culture 
            {  
                /// <summary>
                /// l'application s'éxécute en Français
                /// </summary>
                Francais,
                /// <summary>
                /// l'application s'éxécute en Anglais
                /// </summary>
                Anglais,
                /// <summary>
                /// l'application s'éxécute en Espagnol
                /// </summary> 
                Espagnol,
                /// <summary>
                /// l'application s'éxécute en Allemand
                /// </summary> 
                Allemand,
                /// <summary>
                /// l'application s'éxécute en Suisse-Allemand
                /// </summary>
                Suisse
            }

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

Discussions similaires

  1. Exception lancée sans raisons apparentes
    Par Zouch-K dans le forum C++
    Réponses: 2
    Dernier message: 19/05/2010, 14h57
  2. NET::FTP unknown error sans raison
    Par niocco dans le forum Modules
    Réponses: 11
    Dernier message: 29/06/2005, 20h21
  3. ma base gonfle sans raison !!!
    Par hiul dragonfel dans le forum Access
    Réponses: 6
    Dernier message: 20/06/2005, 10h00
  4. Expliciter une exception levée par un objet OLE
    Par Bleuarff dans le forum Windows
    Réponses: 3
    Dernier message: 12/05/2005, 16h10
  5. [JSP] Afficher les exceptions levées
    Par lipao17 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 18/04/2005, 17h52

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