Sono nuovo in C# sviluppo,C# - JSON serializzazione del dizionario
Nel mio progetto, io cerco di salvare un'istanza Dictionary
dalla serializzazione in un deposito Settings
con questo codice:
private static Dictionary<string, Dictionary<int, string>> GetKeys()
{
Dictionary<string, Dictionary<int, string>> keys = null;
try {
JavaScriptSerializer ser = new JavaScriptSerializer();
keys = ser.Deserialize<Dictionary<string, Dictionary<int, string>>>(Settings.Default.keys);
}
catch (Exception e)
{
Debug.Print(e.Message);
}
return keys;
}
private static void SetKeys(Dictionary<string, Dictionary<int, string>> keys)
{
try
{
JavaScriptSerializer ser = new JavaScriptSerializer();
Settings.Default.keys = ser.Serialize(keys);
}
catch (Exception e)
{
Debug.Print(e.Message);
}
}
mio i problemi si verificano quando provo a invocare il metodo SetKeys
. Un ThreadAbortException
è gettato:
Una prima eccezione di possibilità di tipo 'System.Threading.ThreadAbortException' in mscorlib.dll La valutazione richiede un thread per eseguire temporaneamente. Utilizzare la finestra di controllo per eseguire la valutazione.
Hai un'idea di come posso risolvere il mio errore?
Grazie
si consiglia di guardare a questo http : //stackoverflow.com/a/13754871/1099945 – gyosifov
Serializzare/deserializzare i dizionari sono sempre una fonte di problemi. Suggerirei di abbandonare il dizionario e creare la propria raccolta di configurazioni estendendo https://msdn.microsoft.com/en-us/library/ms132438(v=vs.110).aspx in quanto si tratta di una raccolta con chiave che è anche un Collezione, facilmente serializzabile/deserializzata. –
Will