Par défaut, WCF utilise DataContractSerialization, donc si nous pouvons le changer, alors ma question est de savoir comment le changer et quand devrions-nous avoir besoin de quelle sérialisation sur wcf?Comment changer Wcf pour utiliser un sérialiseur différent?
Répondre
Vous pouvez utiliser l'attribut XmlSerializerFormatAttribute
sur votre contrat de service pour forcer WCF à utiliser le XmlSerializer
.
Le choix par défaut de DataContractSerializer est bon dans la plupart des cas. Vous pouvez également utiliser le DataContractJsonSerializer spécialement pour les services de type REST et si le client attend le type de contenu Json. L'autre option est XmlSerializer à des fins d'interopérabilité si vous avez besoin de plus de contrôle sur le code XML généré. DataContractSerializer est plus efficace que XmlSerializer.
Dans les options tierces, vous pouvez utiliser protobuf-net de Google, qui est plus efficace que DataContract Serializer.
WCF a une fonctionnalité intéressante qu'une méthode peut renvoyer Message
ou un Stream
(voir Returning raw json (string) in wcf et How to set Json.Net as the default serializer for WCF REST service comme exemples). Le code correspondant que vous devez écrire peut être plus facile, comme si vous utilisiez d'autres techniques d'avance Extending Encoders and Serializers. Il est donc très facile d'implémenter Streaming Message Transfer par exemple ou simplement de renvoyer un fichier JPG ou Excel suite à une méthode WCF.
- 1. Sérialiseur WCF personnalisé
- 2. Comment utiliser un modèle différent pour un navigateur différent
- 3. Comment faire un routage asp.net utiliser un chemin d'application différent
- 4. Comment utiliser un STL différent avec g ++
- 5. Comment définir Json.Net comme sérialiseur par défaut pour le service REST WCF
- 6. Utiliser NSString dans un fichier différent
- 7. Sérialiseur minuscule
- 8. comment écrire propre sérialiseur/désérialiseur?
- 9. Proxy WCF: Dois-je créer un nouveau proxy différent pour chaque liaison?
- 10. Rendre GNU utiliser un compilateur différent
- 11. Comment faire pour déplacer un MovieClip pour changer la valeur de movieclip différent?
- 12. Comment utiliser svcutil.exe pour créer un proxy client ib WCF?
- 13. Comment utiliser les objets WCF pour créer un rapport?
- 14. WCF: Comment utiliser AllowInsecureTransport
- 15. Utiliser FBJS pour changer CSS
- 16. Pour WCF, quand est-il nécessaire de dire statiquement à un sérialiseur sur un type de données?
- 17. Comment puis-je changer la configuration par défaut pour WCF?
- 18. Utiliser select pour changer d'image
- 19. Comment faire pour déplacer un ProjectName.vdproj dans un répertoire différent?
- 20. Comment modifier WCF pour traiter les messages dans un format différent (non SOAP)?
- 21. XML sérialiseur nom
- 22. Comment puis-je utiliser un CSS différent en utilisant jQuery?
- 23. Grails/Compass - Comment puis-je changer la connexion compqass pour pointer vers un répertoire différent?
- 24. . NET 4 possède-t-il un sérialiseur/désérialiseur JSON intégré?
- 25. asp.net Javascript sérialiseur
- 26. Comment utiliser Ninject2 avec WCF?
- 27. comment utiliser MessageParameterAttribute dans wcf
- 28. Comment arrêter et vider une balise dans un sérialiseur XML?
- 29. Utiliser memcpy pour changer un jnz en jmp
- 30. Comment faire pour enregistrer CURL dans un répertoire différent?