Asp.net mvc ASP.Net MVC HandleError抛出500内部服务器错误
我的控制器上有以下HandleError筛选器: [HandleError(ExceptionType = typeof(ArgumentException), View = "DestinationError")] [HandleError(ExceptionType=typeof(ArgumentException),View=“DestinationError”)] 我已经设置了Web.Config,以便启用customErrors。我遇到的问题是,当我在Visual Studio外部本地运行应用程序时,HandleError筛选器工作正常,但当我将其部署到服务器时,得到的只是一个500内部服务器错误,表明找不到错误视图Asp.net mvc ASP.Net MVC HandleError抛出500内部服务器错误,asp.net-mvc,handleerror,Asp.net Mvc,Handleerror,我的控制器上有以下HandleError筛选器: [HandleError(ExceptionType = typeof(ArgumentException), View = "DestinationError")] [HandleError(ExceptionType=typeof(ArgumentException),View=“DestinationError”)] 我已经设置了Web.Config,以便启用customErrors。我遇到的问题是,当我在Visual Studio外部本地
如果以前有人遇到过这种情况,我怀疑路由可能是问题的根本原因(hoho)。站点被部署到web根目录中,而不是wwwroot本身,因此IIS可能找不到错误文件。要回答我自己的问题,关键是关闭IIS中的HTTP错误。我不喜欢这种解决方法,所以如果有人有更好的想法,我很乐意听听。如果您尝试以下方法会怎么样
Response.TrySkipIisCustomErrors = true;
否则,您可以使用Web.Config配置并将其设置为预期的控制器操作。 像这样:
<customErrors mode="On" defaultRedirect="/Error">
<error statusCode="404" redirect="/Error/NotFound"/>
</customErrors>
在迁移到MVC3RC之后,我遇到了同样的问题。设法通过添加布局/母版页来绕过它
@inherits System.Web.Mvc.WebViewPage<System.Web.Mvc.HandleErrorInfo>
@{
View.Title = "Error";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@继承System.Web.Mvc.WebViewPage
@{
View.Title=“错误”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
现在内部服务器错误消失了,但我认为这是某个地方的错误
@inherits System.Web.Mvc.WebViewPage<System.Web.Mvc.HandleErrorInfo>
@{
View.Title = "Error";
Layout = "~/Views/Shared/_Layout.cshtml";
}