title: C#: Downloading a URL with timeout
body: <p>What's the best way to do it in .NET?
  I always forget what I need to <code>Dispose()</code> (or wrap with <code>using</code>).</p>
  
  <p>EDIT: after a long time using <code>WebRequest</code>, I found out about customizing <code>WebClient</code>. Much better.</p>