我在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-data解析为对象。
我该如何解决或避免这种情况?
提前谢谢大家!
最佳答案
为此,您需要将代码作为后台任务运行。即使停用了您的应用程序,后台任务也将运行。您可以参考:https://docs.microsoft.com/en-us/windows/uwp/launch-resume/support-your-app-with-background-tasks来学习后台任务。
后台任务有两种类型,进行中和结束过程。
关于c# - Windows Phone。应用程序停用损坏的ReadToEndAsync()结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44587902/