: Ich bin in C# Entwicklung,C# - JSON Serialisierung von Wörterbuch
In meinem Projekt versuche ich, durch die Serialisierung in eine Settings
Lagerung mit diesem Code eine Dictionary
Instanz zu speichern:
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);
}
}
Mein Probleme treten auf, wenn ich versuche, SetKeys
Methode aufzurufen. Ein ThreadAbortException
geworfen:
Eine erste Chance Ausnahme des Typs ‚System.Threading.ThreadAbortException‘ ist in mscorlib.dll aufgetreten Auswertung einen Thread vorübergehend ausgeführt werden muss. Verwenden Sie das Überwachungsfenster, um die Auswertung durchzuführen.
Haben Sie eine Idee, wie kann ich meinen Fehler beheben?
Dank
Sie können auf diese aussehen wollen http : //stackoverflow.com/a/13754871/1099945 – gyosifov
Serialisierung/Deserialisierung Wörterbücher sind immer eine Problemquelle. Ich würde vorschlagen, das Wörterbuch zu löschen und Ihre eigene Konfigurationssammlung zu erstellen, die https://msdn.microsoft.com/en-us/library/ms132438(v=vs.110).aspx erweitert, da dies eine verschlüsselte Sammlung ist, die auch eine Sammlung, die leicht serialisiert/deserialisiert werden kann. –
Will