Per impostazione predefinita, WCF utilizza DataContractSerialization, quindi se è possibile cambiarlo, la mia domanda è come cambiarlo e quando è necessario sapere quale serializzazione su wcf?Come cambiare Wcf per utilizzare un serializzatore diverso?
risposta
È possibile utilizzare l'attributo XmlSerializerFormatAttribute
nel contratto di servizio per forzare WCF a utilizzare XmlSerializer
.
La scelta predefinita di DataContractSerializer è valida per la maggior parte degli scopi. È inoltre possibile utilizzare lo DataContractJsonSerializer appositamente per i servizi di tipo REST e se il client prevede il tipo di contenuto di JSON. L'altra opzione è XmlSerializer per scopi di interoperabilità se è necessario un maggiore controllo sull'XML generato. DataContractSerializer è più efficiente di XmlSerializer.
Nelle opzioni di terze parti è possibile utilizzare protobuf-net da Google, che è più efficiente di DataContract Serializer.
WCF ha una bella caratteristica che un metodo può restituire Message
o un Stream
(vedi Returning raw json (string) in wcf e How to set Json.Net as the default serializer for WCF REST service come esempi). Il codice corrispondente che devi scrivere può essere più facile come se usassi più tecniche avanzate Extending Encoders and Serializers. Quindi è molto semplice implementare Streaming Message Transfer per esempio o semplicemente restituire file JPG o Excel come risultato di un metodo WCF.
- 1. Serializzatore JSON.NET per servizi REST WCF
- 2. Come utilizzare un UISegmentedControl per cambiare visualizzazione?
- 3. Come utilizzare un serializzatore JSON personalizzato in Servicestack?
- 4. Posso cambiare la style.xml per diverso risoluzione
- 5. Come utilizzare un file WSDL per creare un proxy WCF?
- 6. Come utilizzare IDispatchMessageInspector in un servizio WCF?
- 7. come ottenere ssh per utilizzare un diverso id_dsa
- 8. Utilizzare un file setParameters.xml diverso?
- 9. Sostituire serializzatore JSON predefinito in WCF 4 in JSON.NET
- 10. Utilizzo di un nome chiave diverso per un attributo di associazione in rails api serializzatore modello attivo
- 11. Come posso modificare WCF per elaborare i messaggi in un formato diverso (non SOAP)?
- 12. Swift - Utilizzare init-metodo diverso per dequeueReusableCellWithIdentifier
- 13. come utilizzare un singolo servlet con un pattern URL diverso?
- 14. Force MATLAB mmreader o aveadeader per utilizzare un codec diverso?
- 15. Utilizzare un comando diff diverso con CVS?
- 16. Come posso utilizzare il gestore ruoli in un servizio WCF?
- 17. Come utilizzare un doppio servizio WCF su Internet?
- 18. Come utilizzare Fiddler per monitorare il servizio WCF
- 19. dinamicamente set x509 da utilizzare per WCF comunicazioni duplex
- 20. Come utilizzare il servizio WCF con Android
- 21. Come utilizzare un diverso protocollo con $ AbsoluteLink in SilverStripe
- 22. Utilizzare un tipo di dati condivisa come DataContract in WCF
- 23. Come utilizzare un servizio WCF con SSRS 2008 R2
- 24. .NET 4 ha un serializzatore/deserializzatore JSON incorporato?
- 25. Come utilizzare direttiva che si trova in un modulo diverso
- 26. serializzatore personalizzato - deserializzatore utilizzando GSON per un elenco di BasicNameValuePairs
- 27. Utilizzo di Jackson come serializzatore client Jersey
- 28. Come ottenere zuul di spring-cloud per utilizzare un circuito diverso per servizi diversi
- 29. Restituisce serializzatore nidificato nel campo del metodo serializzatore
- 30. Impostazioni serializzatore Json.NET personalizzate per tipo