2012-11-28 6 views
8

Desidero scaricare le immagini dal server. Quando l'immagine non esiste, voglio mostrare la mia immagine predefinita.HttpWebResponse

Ecco il mio codice:

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

Funziona bello, ma fino a quando il ciclo 24, nessuna risposta, nessuna eccezione generata, e il mio programma si inceppa.

Come posso risolvere questo?

+0

potresti forse provare a impostare un punto di interruzione ed entrare nel tuo codice per ulteriori indagini .. qual è il problema esattamente? e come nota rapida, si prega di rendere il titolo della domanda più informativo .. –

+0

ciao @ utente1855271, la mia risposta ha risolto il problema? –

risposta

4

Non sei smaltimento del HttpWebResponse, provate questo invece:

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

Ho il sospetto che hai colpito il limite di connessioni TCP vostra macchina farà (non ricordo il numero, ma è per CPU se memoria serve)

ps c'era un errore nel tuo esempio, non stavi usando la variabile response dal tuo WebRequest, ma l'oggetto Response per la richiesta corrente.