title: C# HttpWebResponse Timeout doesn't work
body: <p>I have the function to check if website is available.</p>
  
  <pre><code>    public bool ConnectionAvailable(string strServer)
      {
          try
          {
              HttpWebRequest reqFP = (HttpWebRequest)HttpWebRequest.Create(strServer);
              reqFP.Timeout = 10000;
              HttpWebResponse rspFP = (HttpWebResponse)reqFP.GetResponse();
  
              if (HttpStatusCode.OK == rspFP.StatusCode)
              {
                  // HTTP = 200 - Internet connection available, server online
                  rspFP.Close();
                  return true;
              }
              else
              {
                  // Other status - Server or connection not available
                  rspFP.Close();
                  return false;
              }
          }
          catch (WebException)
          {
              // Exception - connection not available
              return false;
          }
      }
  </code></pre>
  
  <p>It's not mine code. I found it in the Net.</p>
  
  <p>The problem is when some website isn't available.
  I want to wait x miliseconds (set in reqFP.Timeout), then function should return false.
  But everytime I have to wait ~20 seconds (even if i set 10 seconds in "timeout").</p>
  
  <p>Do you have any idea what is wrong?</p>
  
  <p>PS: Sorry for language mistakes.</p>