我想从服务器下载图像。当图像不存在时,我想显示我的默认图像。
这是我的代码:
string url = "http://www......d_common_conference" + "/" + c.id_common_conference + "-MDC.jpg";
try {
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "HEAD";
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
string status = Response.StatusCode.ToString();
img.ImageUrl = url;
}
catch (Exception excep) {
img.ImageUrl = "images/silhouete.jpg";
string msg = excep.Message;
}
它工作得很好,但是直到第24个循环,都没有响应,也没有引发异常,并且我的程序被卡住了。
我怎样才能解决这个问题?
最佳答案
您不会处理HttpWebResponse,请尝试以下方法:
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "HEAD";
string status;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
status = response.StatusCode.ToString();
}
我怀疑您已经达到了机器将建立的TCP连接的限制(不记得这个数字,但是如果有内存,则是每个CPU)
p.s.您的示例中有一个错字,您没有使用WebRequest中的
response
变量,而是当前请求的Response
对象。关于c# - HttpWebResponse,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13609001/