HttpWebResponse

use*_*271 8 c# asp.net httpwebresponse

我想从服务器下载图像.当图像不存在时,我想显示我的默认图像.

这是我的代码:

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;
} 
Run Code Online (Sandbox Code Playgroud)

它运行良好,但直到第24个循环,没有响应,没有异常抛出,我的程序变得卡住.

我怎样才能解决这个问题?

Mik*_*ons 4

您不会处理 HttpWebResponse,请尝试以下操作:

HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "HEAD";
string status;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
    status = response.StatusCode.ToString();
}
Run Code Online (Sandbox Code Playgroud)

我怀疑你已经达到了你的机器将建立的 TCP 连接数的限制(不记得数字了,但如果内存可用的话,它是每个 CPU 的)

ps,您的示例中存在拼写错误,您没有使用responseWebRequest 中的变量,而是Response使用当前请求的对象。