MVC3 アプリケーション用に Http400To404 ActionResult を使用して ErrorController を作成しました。
ルート テスターは、特定のルートを照合します。それにもかかわらず、次のようなエラーが表示されます。
「パブリック アクション メソッド 'http400to404' がコントローラー 'Xxxxxx.Yyyyyyyyy.Zzzzzzz.Controllers.ErrorController' で見つかりませんでした。
URL のコードは次のとおりです。
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
string url = "~/Error/Http400To404?Exception=System.Exception%3A%20Failed%20to%20authorized% 20the%20request".ToLower();
filterContext.Result = new RedirectResult(url);
}
以下は ErrorController クラスです。
public class ErrorController : Controller
{
[HttpGet]
[HttpPost]
public ActionResult Http400To404(Exception e)
{
....
}
...
}
コントローラーを正しく見つけていると思いますが、何らかの理由でアクションの結果が取得されません。URLを無駄にするために次の方法を試しました:
string url = urlHelper.RouteUrl("ErrorDefault",
new RouteValueDictionary { { "Exception", (new Exception("Failed to authorized the request.")).ToString() },
{"controller","Error"},
{"action", "Http400To404"}});
あなたが提供できるどんな助けにも感謝します。ありがとう、E.