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 :

WebMethod et erreur liee a la Serialization


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2008
    Messages : 138
    Par défaut WebMethod et erreur liee a la Serialization
    Bonjour.

    J'ai realise une page Web melant AJAX et C#.


    1/ Depuis mon Javascript, j'appelle une WebMethod ecrite en C# dans le code Behind
    2/ Cette WebMethod consulte un fichier ressources liee a la culture et retourne un string
    3/ Enfin, cette valeur est recuperee par le javascript pour etre affichee dans une Message Box alert()

    L'ereur apparait au niveau de ma WebMethod que voici (RM est mon objet System.Resources.ResourceManager pour gerer la globalization):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //this WebMethod is called from Javascript and 
        //return the translation in French of the word in argument
        [WebMethod]
        public static string Translate(string word)
        {
           return  RM.GetString(word);
        }
    Et j'obtiens donc l'erreur suivante :

    Cannot serialize object with cyclic reference within child properties.
    Apres quelques recherches sur la serialization, je suis un peu paume sur la cause potentielle de cette erreur. Tres certainement un probleme lie a la lecture de mon fichier ressource mais lequel ? N'est pas lie au fait que ma WebMethod est statique ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Une "référence cyclique" signifie que tu as un objet A qui référence un objet B, qui lui-même référence l'objet A. Quand le sérialiseur rencontre un objet qu'il a déjà sérialisé, il lève une exception.

    Si tu as dans un objet enfant une propriété qui pointe vers l'objet "parent", il ne faut pas sérialiser cette propriété. Tu peux empêcher sa sérialisation à l'aide de l'attribut XmlIgnore.
    http://tlevesque.developpez.com/dotn...ization/#LII-A

    Par contre, pour une string, je ne vois pas trop comment ça peut se produire

    Sinon ça me semble bizarre de déclarer en statique une WebMethod... je n'y connais pas grand chose en WebServices, mais il me semble que normalement ça devrait être une méthode d'instance (mais je vois pas bien le rapport avec ton problème)

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2008
    Messages : 138
    Par défaut
    mmmm d'accord.
    Je comprends le problème. Reste à en trouver la cause. Peut-être que c'est mon ResourceManager, enfin les fichiers ressources...
    Je n'y connais encore rien à la sérialisation.
    En commentant les morceaux de code, c'est en tout cas de lui que semblait venir le problème.
    Je ne pourrais pas corriger tout ça avant demain. Je reviendrai mettre le sujet en "résolu" si c'est le cas.

    Pour les WebServices j'ai vu certains tutoriaux disant qu'il fallait que ce soit en statique. Mais j'ai loué un livre aujourd'hui qui dit le contraire. J'avoue ne pas avoir pousser la recherche, les WebServices n'étant pas le sujet de mon travail ici. Je vais vérifier tout ça.

    Merci beaucoup pour la pertinence de tes réponses.

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

Discussions similaires

  1. [Python 3.X] pyserial: erreur à l'appel de Serial.close()
    Par Spirine dans le forum Bibliothèques tierces
    Réponses: 3
    Dernier message: 15/02/2015, 12h07
  2. [OpenGL 1.x] OpenGL erreur liee a un glEnd
    Par imperio dans le forum OpenGL
    Réponses: 9
    Dernier message: 08/09/2013, 11h11
  3. Serialization erreur OutOfMemory
    Par fanzyride dans le forum Général Java
    Réponses: 6
    Dernier message: 29/05/2008, 11h26
  4. [C#] Comment serializer l'écriture des erreurs dans un fichier
    Par LE NEINDRE dans le forum Windows Forms
    Réponses: 9
    Dernier message: 17/11/2006, 14h54
  5. [Javascript] Listes liées en Javascript + erreurs invisibles
    Par MinsK dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 11/05/2006, 15h00

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