2010-10-05 4 views
2

Je tente d'héberger un service WCF qui répond aux demandes entrantes en fournissant un flux de sortie json. J'ai le type suivantUtilisation de DataContractJsonSerializer

[DataContract] 
[KnownType(typeof(List<HubCommon>))] 
[KnownType(typeof(Music))] 
[KnownType(typeof(AppsAndPlugins))] 
[KnownType(typeof(Notifications))] 
[KnownType(typeof(Scenes))] 
[KnownType(typeof(Skins))] 
[KnownType(typeof(Ringtones))] 
[KnownType(typeof(Alarms))] 
[KnownType(typeof(Widgets))] 
[KnownType(typeof(Wallpapers))] 
[KnownType(typeof(Soundsets))] 
public class HubCommon{} 

Dans mon fichier * .svc.cs je fais ce qui suit

List<HubCommon> hubContent = _ldapFacade.GetResults(query); 
     MemoryStream stream = new MemoryStream(); 
     DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(HubCommon));   
     serializer.WriteObject(stream,hubContent); 

donc essentiellement que je suis en train de sérialiser une liste Json mais je reçois l'erreur suivante sur la Exécution "WriteObject": -

Le serveur a rencontré une erreur lors du traitement de la requête. Le message d'exception est 'Type' System.Collections.Generic.List`1 [[HubContentCore.Domain.HubCommon, HubContentCore, Version = 1.0.0.0, Culture = neutre, PublicKeyToken = null]] 'avec le nom du contrat de données' ArrayOfHubCommon: http : //schemas.datacontract.org/2004/07/HubContentCore.Domain 'n'est pas attendu. Ajoutez tous les types non connus de manière statique à la liste des types connus - par exemple, en utilisant l'attribut KnownTypeAttribute ou en les ajoutant à la liste des types connus transmis à DataContractSerializer. '

Qu'est-ce qui me manque ici?

Merci d'avance.

Répondre

1

Le type de votre DataContractJsonSerializer est HubCommon mais vous écrivez un objet de type List<HubCommon> et HubCommon n'est pas ajouté aux KnownTypAttribute

+0

Merci !! Wayyy trop d'écran fixant un jour ... manqué complètement. J'apprécie beaucoup. – Cranialsurge

+0

: D grand merci à Rob pour vous aider à arrêter de regarder l'écran toute la journée lol –

Questions connexes