C#WebRequest / Response - 错误500 - 捕获错误

时间:2018-03-19 08:59:55

标签: c# rss webrequest internal-server-error webresponse

我有以下问题: 我的工具每隔6分钟检查一次RSS-Feed。 这种方法很完美,但托管RSS-Feed的服务器有时几秒钟都无法使用。 "检查" -part全天候运行。 所以有时它会抛出一个错误: 500 - 内部服务器错误,因此我的工具有时会停止工作。

我怎么能抓到这个? (如果失败,我不需要重新检查。只需要捕获该错误,以便工具继续运行)

这是代码,我用:

    // RSS WORKARONUD
    String[,] rssData = null;

    private String[,] getRssData(String channel)
    {
        System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls12;
        System.Net.WebRequest myRequest = System.Net.WebRequest.Create(channel);
        System.Net.WebResponse myResponse = myRequest.GetResponse();


        System.IO.Stream rssStream = myResponse.GetResponseStream();
        System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument();

        rssDoc.Load(rssStream);

        System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss /channel/item");

        //Matrix, 100 rows , 3 colums
        String[,] tempRssData = new String[100, 3];

1 个答案:

答案 0 :(得分:0)

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls12;
        System.Net.WebRequest myRequest = System.Net.WebRequest.Create(channel);
        System.Net.WebResponse myResponse = myRequest.GetResponse();

try
{
        System.IO.Stream rssStream = myResponse.GetResponseStream();
        System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument();

        rssDoc.Load(rssStream);

        System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss /channel/item");
  //Matrix, 100 rows , 3 colums
        String[,] tempRssData = new String[100, 3];
}
Catch(Exception ex)
{
}