System.dll中出现未处理的“System.Net.WebException”类型异常 - 超时

时间:2016-03-07 16:30:48

标签: c# webclient webrequest

System.dll中出现未处理的“System.Net.WebException”类型异常附加信息:请求已中止:操作已超时。

using (System.Net.WebResponse resp = req.GetResponse())

引起
public string HttpGet(string URI)
{
    System.Net.WebRequest req = System.Net.WebRequest.Create(URI);
    req.Proxy = new System.Net.WebProxy(WebRequest.DefaultWebProxy.GetProxy(new Uri("http://google.com")), false); //true means no proxy
    using (System.Net.WebResponse resp = req.GetResponse())
    {
        System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
        string value = sr.ReadToEnd().Trim();
        return value;
    }
}
  • 如果我第一次调用它并且每1-2秒调用一次该函数就会继续工作。
  • ...但是,如果我运行一次(或更多)功能,然后等待5秒再次运行它,程序冻结,我收到上面的错误信息。我已尝试添加req.Timeout = 9999999;或其他任何内容,但它仍会产生相同的错误。

导致此超时的原因是什么?我该怎么办呢?

正在调用的文件:

include($_SERVER['DOCUMENT_ROOT'] . '/PHP Files/Computing Project - Website/ICTeacher/GeneralFunctions/functions.php');
connect_to_database();

$query = $_GET["query"];
$password = $_GET["password"];


if ($password == "X") {
    if (strpos($query, 'SELECT') !== false) {
            $query_result = mysql_query($query);
    if (mysql_num_rows($query_result) != 0) {
            for ($x=0; $x <= mysql_num_rows($query_result); $x++) {
                echo mysql_result($query_result, $x);
            }
        }
    }
}

0 个答案:

没有答案