Телефон с операционной системой Виндоус. Результат ReadToEndAsync() поврежден при деактивации приложения
У меня есть некоторые проблемы с StreamReader.ReadToEndAsync ();
//some get response code ...
using (var response = getResponseTask.Result)
{
using (var responseStream = response.GetResponseStream())
{
using (var responseStreamReader = new StreamReader(responseStream))
{
var readToEndTask = responseStreamReader.ReadToEndAsync();
var responseResult = await readToEndTask;
//and some json parse code here
}
}
}
Поэтому, когда я нажимаю кнопку "Домой" на устройстве (независимо от того, какой это телефон или эмулятор) во время выполнения задачи ReadToEndAsync, результирующая строка не является полной длины при повторной активации приложения... т.е. ее окончание просто обрезается без каких-либо исключений или предупреждений.
В результате я не могу проанализировать мои json-данные для объекта.
Как я могу это исправить или избежать этой ситуации?
Спасибо всем заранее!
1 ответ
Для этого вам нужно запустить свой код в качестве фоновой задачи. Фоновые задачи будут выполняться, даже если ваше приложение деактивировано. Вы можете обратиться: https://docs.microsoft.com/en-us/windows/uwp/launch-resume/support-your-app-with-background-tasks для изучения фоновых задач. Есть два типа фоновых задач, в процессе и вне процесса.