public override void ExecuteResult(ControllerContext context) { var httpContext = context.HttpContext; var request = (FrontHttpRequestWrapper)httpContext.Request; request.RequestUrl = TransferUrl; httpContext.Response.StatusCode = StatusCode; // MVC 3 running on IIS 7+ if (HttpRuntime.UsingIntegratedPipeline) { httpContext.Server.TransferRequest(TransferUrl, true); } else { // Pre MVC 3 httpContext.RewritePath(TransferUrl, false); var httpHandler = new TransferHttpHandler(); httpHandler.ProcessRequestEx(httpContext); } }