因此,我有一个问题,无论是使用HttpWebRequest还是RestSharp进行的任何GET或POST请求,在使用错误的代理进行请求后,经过一定时间后都不会超时。我希望请求在一定时间后超时,并且在两种情况下都应将默认超时设置为100秒,因为RestSharp请求的默认超时是HttpWebRequests的默认超时。但这就是事情变得怪异的地方。我的请求不会在100秒后超时,也不会在将其明确设置为5秒后超时。它只是等待响应并阻塞整个程序。 结论:请求无限期地等待响应。
我在StackOverflow和其他站点上进行了一些研究,以前似乎没有人遇到过这个问题。我也无法解决类似问题的解决方案。没有给定解决方案的类似问题,可以在这里找到C# RestSharp ignoring timeout parameter?
区别在于上面的用户仍然可以正常工作的默认超时(这很奇怪,因为它是21秒)。
另一个用户使用相同的代码没有问题,这也很奇怪,但是可能会导致解决方案
[(1, 4), (6, 10), 12, 14]
正如我提到的那样,它应该在5秒后超时,并且在100秒后不显式设置超时,但这两种情况均未发生。 编辑:我必须补充一点,当设置为5毫秒等较低的amont时,超时可以在没有无法正常工作的代理的情况下正常运行。然后,它抛出System.Net.WebException。