Asp.net mvc 3 Asp.net MVC 3 500错误日志记录在服务器上不工作
我已经配置了一个错误500页,其中有一个控制器视图,当通过webconfig发生错误500时显示该视图Asp.net mvc 3 Asp.net MVC 3 500错误日志记录在服务器上不工作,asp.net-mvc-3,Asp.net Mvc 3,我已经配置了一个错误500页,其中有一个控制器视图,当通过webconfig发生错误500时显示该视图 <httpErrors errorMode="Custom" existingResponse="Replace"> <remove statusCode="404" /> <remove statusCode="500" /> <error statusCode="404" responseMod
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" />
<remove statusCode="500" />
<error statusCode="404" responseMode="ExecuteURL" path="/error/404" />
<error statusCode="500" responseMode="ExecuteURL" path="/error/500" />
</httpErrors>
在我的开发环境中,它工作正常,异常被记录,错误页面被显示。在验收环境中,会显示500错误页面,但不会记录真正的错误。将记录以下错误
Message:The view 'Error' or its master was not found or no view engine supports the searched locations. The following locations were searched: ~/Views/User/Error.aspx ~/Views/User/Error.ascx ~/Views/Shared/Error.aspx ~/Views/Shared/Error.ascx ~/Views/User/Error.cshtml ~/Views/User/Error.vbhtml ~/Views/Shared/Error.cshtml ~/Views/Shared/Error.vbhtml Stack Trace: at System.Web.Mvc.ViewResult.FindView(ControllerContext context) at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) at System.Web.Mvc.Controller.ExecuteCore() at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) at System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.<BeginProcessRequest>b__5() at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0() at System.Web.Mvc.MvcHandler.<>c__DisplayClasse.<EndProcessRequest>b__d() at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
从global.asax中删除以下行:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
// filters.Add(new HandleErrorAttribute()); <!-- remove this
}
publicstaticvoidregisterglobalfilters(GlobalFilterCollection过滤器)
{
//filters.Add(new HandleErrorAttribute());我猜MVCHandleError
属性正在这里跳转,默认情况下,通过安装全局筛选器,所有操作都会启用该属性
您尚未显示
// Error pages
routes.MapRoute("Error404", "error/404", new { controller = "Error", action = "Error404" });
routes.MapRoute("Error500", "error/500", new { controller = "Error", action = "Error500" });
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
// filters.Add(new HandleErrorAttribute()); <!-- remove this
}
filters.Add(new HandleErrorAttribute());