title: Difference between HttpContext.Request and Request
body: <p>What is the difference between the three ASP.NET objects:</p>
  
  <ul>
  <li>HttpContext.Current.Request</li>
  <li>HttpContext.Request</li>
  <li>Request</li>
  </ul>
  
  <p>Are these exactly the same?</p>
  
  <h1>Edit 1</h1>
  
  <p>Do these objects behave differently inside <code>global.asax</code>/<code>global.asax.vb</code> and <code>default.aspx</code>/<code>default.aspx.vb</code>.</p>
  
  <h1>Edit 2</h1>
  
  <p>OK I'll try to be specific this time. Which of the following should I use:</p>
  
  <pre class="lang-vb prettyprint-override"><code>' File: global.asax
  Protected Sub Application_BeginRequest(ByVal sender As Object, ByVal e As System.EventArgs)
      If Request.Url.Port = 80 Then
      'If HttpContext.Current.Request.Url.Port = 80 Then
      'If HttpContext.Request.Url.Port = 80 Then
          'do something
      End If
  End Sub
  
  ' File: default.aspx
  Public Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
      If Request.Url.Port = 80 Then
      'If HttpContext.Current.Request.Url.Port = 80 Then
      'If HttpContext.Request.Url.Port = 80 Then
          'do something
      End If
  End Sub
  </code></pre>