Server.Transfer从WebForms ashx处理程序转移到MVC 3

时间:2011-02-21 18:24:42

标签: c# asp.net asp.net-mvc asp.net-mvc-3 server.transfer

我正在尝试从ASP.NET ashx处理程序到ASP.NET MVC 3页面执行Server.Transfer。

我不想使用Server.Redirect,因为我不想更改URL。

这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以在通用HTTP处理程序中尝试以下操作:

public void ProcessRequest(HttpContext context)
{
    var routeData = new RouteData();
    routeData.Values["controller"] = "Home";
    routeData.Values["action"] = "Index";
    IController controller = new HomeController();
    controller.Execute(new RequestContext(new HttpContextWrapper(context), routeData));
}

显然,只有Generic HTTP处理程序是ASP.NET MVC应用程序的一部分时,这才有效。

如果它不是同一个应用程序,则HTTP重定向是您唯一的选择。