HTTP请求没有响应

时间:2012-06-27 20:45:37

标签: c# http-request

  

可能重复:
  Adjusting HttpWebRequest Connection Timeout in C#

在我的代码中,我正在调用实时聊天api以获取以下格式的运算符列表:

            HttpWebRequest request
                = WebRequest.Create("url-here") as HttpWebRequest;
            request.Credentials
                = new NetworkCredential(
                    username,
                    password
                    );

            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                StreamReader reader = new StreamReader(response.GetResponseStream());

           //dowhatever
            }

今天,实时聊天api失败了,因为我们的网站也下降了。在这种情况下,api请求继续旋转并处于“未响应”状态。

如何解决这个问题?我不想继续等待,直到api响应。因为它会导致我的页面继续旋转。是否像超时一样 - 或等待2秒然后跳过实时聊天请求部分?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可以使用WebRequest.Timeout property设置您希望代码在超时之前等待多长时间:

var request = WebRequest.Create("url-here") as HttpWebRequest;
request.Credentials = new NetworkCredential(username, password);
request.Timeout = 30 * 1000; // wait for 30 seconds (30,000 milliseconds)