ASP.NET MVC Application_Error無効非実行
2159 ワード
私たちは一般的にASPを開発しています.NET MVCアプリの場合、Application_Errorに例外ログを追加すると、一般的に500のエラーメッセージが記録されますが、アプリケーションがエラーが発生した場合はApplication_Errorは実行しないで、これはとても恐ろしいです.
解決策はGlobal.asax.csからHandleErrorAttributeへの登録バインディングを削除するには、次の手順に従います.
参考資料:http://stackoverflow.com/questions/6508415/application-error-not-firing-when-customerrors-on
HandleErrorAttributeの除去に加えて、より良い方法があります.
解決策はGlobal.asax.csからHandleErrorAttributeへの登録バインディングを削除するには、次の手順に従います.
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
....
}
}
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute()); //
}
}
参考資料:http://stackoverflow.com/questions/6508415/application-error-not-firing-when-customerrors-on
HandleErrorAttributeの除去に加えて、より良い方法があります.
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new CustomErrorAttribute());
}
}
public class CustomErrorAttribute : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
Log("AppError", filterContext.Exception);//
base.OnException(filterContext);
}
}