【发布时间】:2015-10-01 00:32:33
【问题描述】:
我正在使用 Visual Studio 开发通用 Windows 平台应用程序,但遇到了一个非常奇怪的问题。它是 Windows 运行时组件上的后台任务。如果删除有问题的代码部分,后台任务将毫无问题地执行。
当代码到达第一句 (WebRequest request = WebRequest.Create(_finalURI);) 时,WebResponse response = await request.GetResponseAsync(); 立即停止后台任务,无一例外,没有任何东西。很奇怪。
WebRequest request = WebRequest.Create(_finalURI);
WebResponse response = await request.GetResponseAsync(); // Here it closes
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
textResponse = reader.ReadToEnd();
这对我来说是非常罕见的情况。 I uploaded a video to YouTube so you can see it as it happens。我已经经历了两个多小时:(并继续努力。
编辑:
我已更改为 HttpClient 类,并且行为相同。
var httpClient = new HttpClient();
textResponse = await httpClient.GetStringAsync(_finalURI); // Here it closes
httpClient.Dispose();
编辑 2:
按照 Scott Chamberlain 的要求进行方法签名:
public async Task<ArticleList> GetArticleList(ArticleAttributes attributes,
ImageResFromAPI imageres, string singleArticle)
【问题讨论】:
-
因为该异常来自另一个线程,而不是您尝试捕获的该线程
-
@Adelaiglesia:你获得延期了吗?
-
请包含您从中调用此方法的方法签名
-
你找到原因了吗?我的应用也在做同样的事情
标签: c# webrequest background-task getresponse