我有一些代码DownloadStringAsync
。与我的浏览器,我可以得到一些有关错误的信息,因为我打开发送错误消息到IIS中的浏览器。我想知道是否可以在代码中捕获它。
void Process( Job job )
{
using( WebClient client = new WebClient() )
{
client.DownloadStringCompleted += (sender, args ) =>
DownloadStringCompleted(job,args);
try
{
client.DownloadStringAsync(new Uri(job.url), job);
}
catch (WebException e)
{
Console.WriteLine(e.Message);
}
}
}
void DownloadStringCompleted(Job job, DownloadStringCompletedEventArgs args)
{
if( args.Error != null )
{
// How can i get the response ? Like 500 Internal Server Error
// this_buggy_page.asp Line 100000
}
}
答案 0 :(得分:4)
如果args.Error != null
它可能包含WebException
的实例;如果是这种情况,那么您可以将其转换为WebException
,然后访问其Response
属性,您可以将其转换为HttpWebResponse
(对于HTTP调用),然后从那里获取标题/正文/等。