2012-11-28 14 views
8

Ich möchte Bilder vom Server herunterladen. Wenn das Bild nicht existiert, möchte ich mein Standardbild anzeigen.HttpWebResponse

Hier ist mein Code:

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; 
} 

Es funktioniert gut, aber bis zum 24. Schleife, keine Antwort, keine Ausnahme ausgelöst, und mein Programm verklemmt.

Wie kann ich das beheben?

+0

könnten Sie vielleicht versuchen, einen Haltepunkt einzurichten und in Ihren Code für weitere Untersuchungen einsteigen .. Was ist das Problem genau? und als eine kurze Anmerkung, machen Sie bitte Ihren Fragetitel informativer. –

+0

hi @ user1855271, hat meine Antwort Ihr Problem gelöst? –

Antwort

4

Sie sind nicht von der HttpWebResponse entsorgen, versuchen Sie stattdessen:

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

Ich vermute, dass Sie die Grenze auf TCP-Verbindungen getroffen haben Ihre Maschine (kann mich nicht erinnern die Zahl machen, aber es ist per CPU, wenn Speicher dient)

ps In Ihrem Beispiel gab es einen Tippfehler. Sie verwendeten nicht die response Variable aus Ihrer WebRequest, sondern das Response Objekt für die aktuelle Anfrage.

Verwandte Themen