我创建了一个程序来调用数千个URL,我想要做的是确保如果URL超时,我可以将超时错误追溯到该URL。我已经有了以下措施:
string url = "http://www.google.com";
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(url);
request.Timeout = 5000;
request.ReadWriteTimeout = 5000;
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1";
//From Fiddler
DateTime giveUp = DateTime.UtcNow.AddSeconds(5);
if (DateTime.UtcNow > giveUp)
throw new TimeoutException("The following url could not be reached: " + url);
我希望创建一个单元测试来验证超时异常是否能够正确工作。如果需要更多细节,请告诉我,但这应该足够了。