Windows Phone。应用程序停用已损坏ReadToEndAsync()的结果

时间:2017-06-16 11:14:41

标签: c# async-await windows-phone streamreader

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 个答案:

答案 0 :(得分:0)

为此,您需要将代码作为后台任务运行。即使您的应用已取消激活,也会运行后台任务。您可以参考:https://docs.microsoft.com/en-us/windows/uwp/launch-resume/support-your-app-with-background-tasks来学习后台任务。 在过程和过程中有两种类型的后台任务。出过程。