Serializzazione in .NET

La serializzazione è il processo di conversione dello stato di un oggetto in un form che può essere mantenuto o trasportato. Il complemento della serializzazione è la deserializzazione, che converte un flusso in un oggetto. Insieme, questi processi consentono di archiviare e trasferire i dati.

.NET offre le tecnologie di serializzazione seguenti:

  • La serializzazione binaria mantiene la fedeltà dei tipi, utile per preservare lo stato di un oggetto tra chiamate diverse di un'applicazione. È possibile, ad esempio, condividere un oggetto tra diverse applicazioni serializzandolo negli Appunti. La serializzazione di un oggetto può essere effettuata in un flusso, in un disco, in memoria, in rete e così via. .NET Remoting utilizza la serializzazione per passare oggetti "per valore" da un computer o dominio dell'applicazione a un altro.

  • La serializzazione XML e SOAP serializza solo le proprietà e i campi pubblici e non mantiene la fedeltà dei tipi. Ciò risulta utile se si vuole fornire o utilizzare dati senza limitare l'applicazione che utilizza i dati. Poiché XML è uno standard aperto, questa rappresenta una scelta interessante ai fini della condivisione di dati attraverso il Web. Analogamente, SOAP è uno standard aperto che rappresenta una scelta altrettanto interessante.

  • La serializzazione JSON serializza solo le proprietà pubbliche e non mantiene la fedeltà dei tipi. JSON è uno standard aperto che rappresenta una scelta interessante per la condivisione dei dati sul Web.

Riferimento

System.Runtime.Serialization
Contiene classi utilizzabili per la serializzazione e la deserializzazione di oggetti.

System.Xml.Serialization
Contiene classi utilizzabili per la serializzazione di oggetti in documenti XML o in flussi.

System.Text.Json
Contiene classi che possono essere usate per serializzare oggetti in documenti o flussi in formato JSON.