1

可能重复:
在 C# 中调整 HttpWebRequest 连接超时

在我的代码中,我正在调用实时聊天 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 秒然后跳过实时聊天请求部分?

谢谢您的帮助!

4

1 回答 1

1

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

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)
于 2012-06-27T20:51:41.460 回答