1

ASP.NET ashx ハンドラーから ASP.NET MVC 3 ページへの Server.Transfer を実行しようとしています。

URL を変更したくないので、Server.Redirect を使用したくありません。

これは可能ですか?

4

1 に答える 1

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 リダイレクトが唯一の方法です。

于 2011-02-21T21:09:13.033 に答える