0

のメソッドで以下のメソッドを使用しましEndRequestglobal asaxHTTP 404 error画像リクエストやその他のリクエストからでも取得します。ポイントは、最初のリクエスト/メインリクエストのみをチェックしたいということです。助けてください。これが機能する唯一のソリューションです。

{
    if (Context.Response.StatusCode == 404)
    {
        Response.Clear();

        var rd = new RouteData();
        rd.DataTokens["area"] = "AreaName"; 
        rd.Values["controller"] = "Errors";
        rd.Values["action"] = "NotFound";

        IController c = new ErrorsController();
        c.Execute(new RequestContext(new HttpContextWrapper(Context), rd));
    }
}
4

1 に答える 1

0

コントローラアクションの404のみを処理したい場合は、現在のリクエストが次のようなものであるかどうかを確認できます。

if(!string.IsNullOrEmpty(Request.RequestContext.RouteData.GetRequiredString("controller")))
{
  ...handling code goes here....
}
于 2012-10-18T13:05:55.403 に答える