Timeout cuando la conexión se ha ido. AYÚDAME POR FAVOR [cerrado]

Me gustaría poner un tiempo de espera en mi código. Cuando el archivo se está descargando y me quedo sin Internet, cuenta hasta 60 segundos y, si la conexión no funciona, da un mensaje.

Aquí está el código:

string novoNome;
novoNome = strlocal + "\\" + zipNome;
using (WebClient wcDownload = new WebClient())
{ 
      try
        {
            if (!Directory.Exists(strlocal))
            {
                Directory.CreateDirectory(strlocal);
            }

            #region comunicação para download
            //string saida;
            // cria uma requisição do arquivo para download
            webRequest = (HttpWebRequest)WebRequest.Create(url);

            webRequest.ReadWriteTimeout = 60000;

            webResponse = (HttpWebResponse)webRequest.GetResponse();                    

            //Perguntar o tamanho do arquivo
            Int64 fileSize = webResponse.ContentLength;

            Uri uri = new Uri(url);

            // Abrindo arquivo para Download
            strResponse = wcDownload.OpenRead(uri);
            // Criando novo arquivo para salvar no HDD
            strLocal = new FileStream(novoNome, FileMode.Create, FileAccess.Write, FileShare.None);
            #endregion

            #region transferencia
            int bytesSize = 0;

            byte[] downBuffer = new byte[2048];                   

            try
            {
                while ((bytesSize = strResponse.Read(downBuffer, 0, downBuffer.Length)) > 0)
                {                           
                    strLocal.Write(downBuffer, 0, bytesSize);
                    //if(this.IsAccessible)
                    this.Invoke(new UpdateProgessCallback(this.UpdateProgress), new object[] { strLocal.Length, fileSize });
                    //wcDownload.DownloadProgressChanged += new DownloadProgressChangedEventHandler(wcDownload_DownloadProgressChanged);                              
                }                        
            }
            catch (WebException ex)
            {                        
                MessageBox.Show("WEB ERROO:" + ex.Message);
            }
            catch (Exception e)
            {
                MessageBox.Show("Erro:" + e.Message);
            }
            #endregion
            }
        catch (WebException ex)
        {
            MessageBox.Show("WEB ERROO:" + ex.Message);
        }
        catch (Exception e)
        {
            MessageBox.Show("Erro:" + e.Message);
        }                            
        finally
        {
            strResponse.Close();
            strLocal.Close();
        }
    }

Siento mucho inglés, soy brasileño.

¡¡POR FAVOR AYUDA!

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta