2008-10-16 8 views
3

J'essaie de transmettre certaines collections Subsonic à un client via un service Web. Lorsque je référence le service Web, l'IDE se plaint de:Comment sérialiser DateTime nullable dans un service Web .net?

Impossible de sérialiser le membre 'EndDate' de type System.Nullable`1 [System.DateTime]. XmlAttribute/XmlText ne peut pas être utilisé pour coder des types complexes.

Existe-t-il un moyen de sérialiser des types complexes Null dans un service Web .NET?

Répondre

3

La façon dont vous gérez les propriétés en option est d'inclure un booléen membre XXXSpecified où XXX est le nom de la propriété. Les types nullables ne sont pas gérés correctement par le sérialiseur xml utilisé par ASMX. Notez que ceci n'est pas une limitation de WCF.

2

C'est une limitation .NET

Si vous voulez, vous pouvez générer vos classes avec cette propriété dans la section SubSonicService dans le fichier web.config.

generateNullableProperties = « false »

http://forums.subsonicproject.com/forums/t/3285.aspx

+0

Cette limitation est-elle toujours présente dans le .NET 3.5? –

Questions connexes