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 :

[C#][Remoting] Comment sérialiser des collections generiques ?


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2003
    Messages : 46
    Points : 51
    Points
    51
    Par défaut [C#][Remoting] Comment sérialiser des collections generiques ?
    Bonjour,

    Je développe une appli client serveur qui utilise le remoting,

    Dans l'objet serveur j'ai declaré plusieurs collections génériques.

    Quand je fais un appel depuis un client sur cet objet serveur, j'obtiens une exception

    "Le sérialiseur ne prend pas en charge la sérialisation des types génériques : System.Collections.Generic.List`1[iConquest.entity.Square]."

    Les collections dans l'objet serveur sont de type List<Square>, y a t'il une manip particuliere pour rendre ces collection sérialisable?

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2003
    Messages : 46
    Points : 51
    Points
    51
    Par défaut
    Merci pour ta réponse rapide,

    J'ai essayer de faire comme dans l'example c'est à dire de creer une nouvelle classe qui herite de List<T> en lui ajoutant l'attribut [XmlType] et aussi l'attribut [Serializable], et j'ai bien sur remplacer dans le code List<Square> pour iConquestList<Square> malheuresement, j'ai toujours la même exception

    "Le sérialiseur ne prend pas en charge la sérialisation des types génériques : iConquest.helpers.iConquestList`1[iConquest.entity.Square]."

    Je vais essayer dans apprendre plus sur la sérialisation car je ne l'ai jamais utilisé auparavant

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par cereal59
    Merci pour ta réponse rapide,

    J'ai essayer de faire comme dans l'example c'est à dire de creer une nouvelle classe qui herite de List<T> en lui ajoutant l'attribut [XmlType] et aussi l'attribut [Serializable], et j'ai bien sur remplacer dans le code List<Square> pour iConquestList<Square> malheuresement, j'ai toujours la même exception

    "Le sérialiseur ne prend pas en charge la sérialisation des types génériques : iConquest.helpers.iConquestList`1[iConquest.entity.Square]."

    Je vais essayer dans apprendre plus sur la sérialisation car je ne l'ai jamais utilisé auparavant
    Tu as bien mis [Serializable] pour ton type Square aussi ?
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2003
    Messages : 46
    Points : 51
    Points
    51
    Par défaut
    Oui oui, j'ai bien mis [Serializable] pour Square

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par cereal59
    Oui oui, j'ai bien mis [Serializable] pour Square
    Montres-nous le code que tu as mis dans ta classe Service_asmx, qui devrait générer ton generic
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2003
    Messages : 46
    Points : 51
    Points
    51
    Par défaut
    J'ai changé de type de channel, j'utilise un TcpChannel à la place d'un HttpChannel est ca fonctionne sans probleme ...
    Je regarderai plus tard pourquoi cela ne fonctionne pas avec HttpChannel

    Merci pour vos réponses
    ....

    Apres quelques recherches sur Internet il semble en effet que le Soapformater utilisé lors du remoting via un channel HTTP ne supporte pas les génériques, la plupart des articles que j'ai lu sur le sujet concerné les différentes version beta de .net 2.0, donc je ne sais pas si c'est toujours d'actualité ...

    Pour ce que ca intéresse, il y a un moyen de contourner ca grace à un article que j'a trouvé sur codeproject

    http://www.codeproject.com/soap/FastSerialization.asp

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

Discussions similaires

  1. [VBA] comment modifier les items des collections
    Par tangjuncn dans le forum Général VBA
    Réponses: 2
    Dernier message: 18/02/2014, 16h37
  2. Réponses: 4
    Dernier message: 20/02/2009, 14h44
  3. Réponses: 5
    Dernier message: 13/07/2006, 16h05
  4. [VB.NET] Comment peut-on sérialiser une Collection ?
    Par Jabbal'H dans le forum VB.NET
    Réponses: 6
    Dernier message: 09/03/2006, 21h24
  5. Réponses: 1
    Dernier message: 03/10/2005, 14h46

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