我已經搜索了上下,仍然得到這個錯誤。我不能,因爲我的生活理解爲什麼。MVC RedirectToAction前往錯誤路徑
{「視圖‘錯誤’或它的主人沒有被發現或沒有視圖發動機 支持搜索位置以下位置進行搜索 :\ r \ N〜/查看/管理員/ Error.aspx \ r \ N〜/查看/管理員/ Error.ascx \ r \ N〜/查看/共享/ Error.aspx \ r \ N〜/查看/共享/ Error.ascx \ r \ N〜/查看/管理員/錯誤。 CSHTML \ r \ N〜/查看/管理員/ Error.vbhtml \ r \ N〜/查看/共享/ Error.cshtml \ r \ N〜/查看/共享/ Error.vbhtml「}
這是抓到了一個自定義錯誤記錄類:
internal static class _Logger
{
internal static void Log(Exception ex)
{
string logPath = HttpContext.Current.Server.MapPath(@"\Log\" + DateTime.Now.Month + "_" + DateTime.Now.Year + "_log");
File.AppendAllText(logPath,
"Time:" + DateTime.Now + "\n"
+ ex.Message +"\n" + ex.InnerException + "\n" + ex.StackTrace);
}
}
它被從這裏拋出:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
protected void Application_Error()
{
var ex = Server.GetLastError(); //RIGHT HERE CATCHES IT.
_Logger.Log(ex);
}
}
路由配置:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Administrator",
url: "{controller}/{action}",
defaults: new { controller = "Administrator", action = "Index" }
);
routes.MapRoute(
name: "Trials",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Trials", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Error",
url: "{controller}/{action}",
defaults: new { controller = "Error", action = "Index"}
);
}
缺少什麼我在這裏?
謝謝。
編輯
我刪除了自定義授權屬性,我仍然得到此異常拋出。令我困惑的是它從未擊中Catch塊。
EDIT 2
我回去,並在應用開始做了一個斷點。
以上編輯是實際拋出異常的地方。
您是否將此錯誤重定向到錯誤頁面,還是出現在其他重定向中? –
@LuizPaulo正如我所說,它似乎只是在授權失敗後才做到。 –
我認爲它試圖找到失敗授權的默認錯誤頁面,這很奇怪 –