2009-12-04 6 views
3

Possible en double:
Why isn’t my DbNull a singleton when I deserialise it using XmlSerialiser?System.DBNull avec le nom de contrat de données ne devrait pas dans WCF

J'ai un tableau d'objets que je passe à un appel WCF qui a DBNull.Value comme l'une des valeurs. WCF semble s'étouffer dessus parce qu'il ne sait pas comment le sérialiser. En recherchant seulement les personnes qui ont remplacé le DBNull.Value par quelque chose d'autre, il n'affiche que les personnes qui ont remplacé DBNull.Value par autre chose. Est-ce que je dois faire cela, ou est-ce qu'il y a un moyen pour que DBNull.Value sur le client soit sérialisé à la même chose sur le serveur?

+0

Comment avez-DBNull.Value obtenir du côté client en premier lieu? –

Répondre

2

Voir ce post précédent.

Why isn't my DbNull a singleton when I deserialise it using XmlSerialiser?.

aussi, en aparté, DBNull ne devrait probablement pas être flottant dans votre couche de service, bien qu'il y ait toujours une raison parfois :)

+0

ouais, je préférerais vraiment ne pas l'avoir là. Ma solution de contournement a fini par traduire DBNull en quelque chose que WCF aime. Ne ris pas! –

+0

Sans rire ici, c'est exactement ce que vous devriez faire. Définissez les détails du contrat, puis mappez l'une ou l'autre extrémité pour vous conformer à ces contrats. Ok donc DBNull ne devrait pas être de ce côté du service mais bon, parfois il faut juste que ça marche;) – MattC