Serializzazione selettiva
Una classe spesso contiene campi che non devono essere serializzati. Ad esempio, si prenda in considerazione una classe che archivia un ID del thread in una variabile membro. Quando la classe viene deserializzata, il thread archivia l'ID nel caso in cui la classe serializzata non sia più in esecuzione; la serializzazione di questo valore non ha senso. È possibile evitare che le variabili membro vengano serializzate contrassegnandole con l'attributo NonSerialized come riportato di seguito.
[Serializable]
public class MyObject
{
public int n1;
[NonSerialized] public int n2;
public String str;
}
Se possibile, rendere non serializzabili gli oggetti che possono contenere dati sensibili alla sicurezza. Se l'oggetto deve essere serializzato, applicare l'attributo NonSerialized ai campi specifici che archiviano dati sensibili. Se non si escludono questi campi dalla serializzazione, è necessario essere consapevoli che i dati archiviati saranno esposti a qualsiasi codice che disponga delle autorizzazioni per la serializzazione. Per ulteriori informazioni sulla scrittura di codice di serializzazione protetto, vedere Sicurezza e serializzazione.
Vedere anche
Altre risorse
Serializzazione binaria
Remote Objects
Serializzazione SOAP e XML
Security and Serialization