如何调试此 Web 客户端异常
本文关键字:Web 客户端 异常 调试 何调试 | 更新日期: 2023-09-27 18:33:36
我正在尝试使用以下代码为Android应用程序提取一个简单的RSS提要:
public async Task<IList<Episode>> PullEpisodesAsync(int page)
{
string xmlFeed = "";
try
{
using (WebClient wc = new WebClient())
{
var uri = new Uri(Const.FeedEndpoint); // http://spotlightenglish.com/feeds/appfeed/
xmlFeed = await wc.UploadStringTaskAsync(uri, "GET", "");
}
}
catch (System.Net.WebException wex)
{
Console.WriteLine("WebExceptionStatus: {0}", wex.StackTrace);
}
IList<Episode> episodes = ParseFeed(xmlFeed);
return episodes;
}
我得到了一个运行时异常,它没有给我太多的时间来继续:
WebExceptionStatus: at
System.Net.WebClient+c_async15.移动下一个 ((
[0x00000] 在 :0 中 --- 堆栈跟踪结束自 引发异常的上一个位置---
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ((
[0x00000] in :0 在
System.Runtime.CompilerServices.TaskAwaiter'1[System.String].获取结果 (( [0x00000] 在 :0 在
聚焦.剧集投票者+c_async1.移动下一个 ((
[0x000e2] 在
/用户/珍妮/工作坊/聚焦英语/元素/插曲.cs:52
[聚焦]Web 异常:执行 Web 客户端
时出错 请求。
我不在代理或防火墙后面,可以通过测试设备浏览源 URL,并在我的应用清单中指定了 Internet 访问权限。
有关如何开始调试的任何指示将不胜感激。
以下带有HttpClient
的代码对我有用:
using (var client = new HttpClient())
{
var url = "http://spotlightenglish.com/feeds/appfeed/";
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("text/xml"));
var msg = await client.GetAsync(url);
if (msg.IsSuccessStatusCode)
{
var xml = await msg.Content.ReadAsStringAsync();
// do whatever with xml from here
}
}
此外,您的代码似乎有点错误。为什么要将内容上传到服务器而不是下载?