Json.net có các chức năng async để chuyển đổi một đối tượng để json như:Json.net Async khi viết vào File
jsn = await JsonConvert.DeserializeObjectAsync<T>
Nhưng khi tôi muốn writea đối tượng để một json nộp có vẻ như tốt hơn để tôi làm trực tiếp bằng cách sử dụng một tập tin Stream.
Vì vậy, tôi nghĩ rằng nó phải là một cái gì đó như thế này:
var fileStream = await file.OpenAsync(FileAccessMode.ReadWrite);
using (IOutputStream outputStream = fileStream.GetOutputStreamAt(0))
{
using (StreamWriter sw = new StreamWriter(fileStream.AsStreamForWrite()))
{
using (JsonWriter jw = new JsonTextWriter(sw))
{
jw.Formatting = Formatting.Indented;
JsonSerializer serializer = new JsonSerializer();
serializer.Serialize(jw, obj);
}
}
Nhưng trên Object JsonSerzializer tôi không thể tìm thấy phương pháp async. Ngoài ra tôi nghĩ rằng các hoạt động IO không nên được đặt trong một chủ đề riêng.
Phương pháp được đề xuất là gì?
Cảm ơn đã chỉ ra rằng. Tôi đã tự hỏi làm thế nào một stringoperation có thể là không đồng bộ không ren .. Streaming có thể được thực hiện không đồng bộ. Có lẽ đó sẽ là một tính năng cho Json.net nhưng rõ ràng nó chưa được ngụ ý. Vì vậy, Cảm ơn câu trả lời của bạn. –
Đây sẽ là một nhiệm vụ đơn giản để hoàn thành - tạo một nhánh không đồng bộ của JSON.Net. Vấn đề là, nó sẽ mất một thời gian dài - bất cứ ai có khoảng 80 giờ để rảnh rỗi? nếu không hơn? – Todd