title: Server.TransferRequest for IIS 6
body: <p>Is there a way to fake the behavior of TransferRequest in IIS 6? Specifically the ability to re-process the whole pipeline without the client having to make a new request? </p>
  
  <p>I'm trying to handle a 404 error from Application_Error, do some magic to see if the URL changed (in which case I use Response.Redirect to redirect to the new URL) but if there really is a 404 I want to serve up my pretty looking 404 page which has to deal with showing some content which is part of the users session.</p>
  
  <p>The problem is that if I use Server.Transfer, The request context is null at this point so my 404 page crashes. I don't want to use Request.Redirect because I want the browser URL to still be on the missing URL so the 404 status code gets interpreted properly for the missing resource.</p>
  
  <p>On IIS 7 I can use TransferRequest which does exactly what I want. The browser retains the missing URL and Session context is available for the 404 page code. So is there a way to do something similar with IIS 6? (TransferRequest is only available in IIS 7 in Pipeline mode and our production servers are still on IIS 6)</p>