Tôi mới trong phát triển C#,C# - JSON serialization của từ điển
Trong dự án của tôi, tôi cố gắng tiết kiệm một trường hợp Dictionary
bởi serializing nó thành một lưu trữ Settings
với mã này:
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);
}
}
My vấn đề xảy ra khi tôi cố gắng gọi phương thức SetKeys
. Một ThreadAbortException
được ném:
Một ngoại lệ cơ hội đầu tiên của loại 'System.Threading.ThreadAbortException' xảy ra ở mscorlib.dll đánh giá đòi hỏi một thread để chạy tạm. Sử dụng cửa sổ Xem để thực hiện đánh giá.
Bạn có ý tưởng làm cách nào để giải quyết lỗi của mình?
Cảm ơn
Bạn có thể muốn xem xét điều này http : //stackoverflow.com/a/13754871/1099945 – gyosifov
Nối tiếp/deserializ ing từ điển luôn luôn là một nguồn vấn đề. Tôi khuyên bạn nên bỏ từ điển và tạo bộ sưu tập cấu hình của riêng bạn mở rộng https://msdn.microsoft.com/en-us/library/ms132438(v=vs.110).aspx vì đây là bộ sưu tập có khóa cũng là Bộ sưu tập, dễ dàng được tuần tự hóa/deserialized. –
Will