title: System.Web.HttpRequest - What is the difference between ContentLength, TotalBytes, and InputStream.Length?
body: <p>I'm looking for answers to questions like these:</p>
  
  <ul>
  <li>For any given request, do these three properties always return the same value?</li>
  <li>Do any of them have side effects?</li>
  <li>Do any of them block until the entire request is received by IIS?</li>
  <li>Do any of them cause uploaded files to be loaded completely into memory?</li>
  </ul>
  
  <p>I care about this because I'm making my web application email me when a request takes too long to process on the server, and I want to avoid sending this email for large requests, i.e. when the user uploads one or more large files.</p>