2016-02-09 2 views
1

Я пишу приложение UWP в IoT Core, которое должно записывать данные в файл JSON.JSON.net записывается в файл асинхронно

string output = JsonConvert.SerializeObject(project, Formatting.Indented); 
string filePath = @"path/to/file.json"; 

File.WriteAllText(filePath, output); 

При попытке запуска программы я получаю сообщение об ошибке сказав:

синхронные операции не должны выполняться в потоке пользовательского интерфейса. Рассмотрите возможность переноса этого метода в Task.Run.

Я понимаю, что запись в файлы синхронно - плохая идея, но я не могу для жизни понять, как это сделать асинхронно. Как я могу сохранить свой JSON-файл?

ответ

2

Вместо использования File.WriteAllText можно создать FileStream объект и использовать метод WriteAsync.

File.WriteAllText - удобный метод, который использует внутри себя StreamWriter. Метод записи здесь является синхронным. И StreamWriteruses a FileStream internally :-)

Смежные вопросы