asp.net-mvc – IIS显示服务器错误而不是自定义错误
发布时间:2020-09-01 19:03:09 所属栏目:asp.Net 来源:互联网
导读:我正在使用MVC 5,我正在使用自定义视图处理我的错误,例如(404,403 ……等) 它在我的本地IIS上工作正常,但是当我在登台服务器上发布时,它显示有关这些错误代码的IIS服务器错误消息. 它显示了这条消息: 代替: 我修改了web.config for customErrors mode =“Of
|
我正在使用MVC 5,我正在使用自定义视图处理我的错误,例如(404,403 ……等)
它显示了这条消息: 代替: 我修改了web.config for< customErrors mode =“Off”/> Global.asax中 if ((Context.Server.GetLastError() is UnauthorizedAccessException))
{
log.LogError(Context.Server.GetLastError().Message,Context.Server.GetLastError());
customErrorPage = @"~/Error/?id=403"; //security
}
else if ((Context.Server.GetLastError() is HttpException) && (((HttpException)Context.Server.GetLastError()).GetHttpCode() == 404))
{
//** Handle 404 error and response code
log.LogError("404",Context.Server.GetLastError());
customErrorPage = @"~/Error/?id=404";
}
else
{
log.LogError(Context.Server.GetLastError().Message,Context.Server.GetLastError());
customErrorPage = @"~/Error";
}
if (ConfigurationHelper.Common.ShowCustomErrorPage)
{
var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext);
Response.Redirect(urlHelper.Content(customErrorPage),false);
Server.ClearError();
}
错误控制器: public ActionResult Index(string id)
{
if (!string.IsNullOrEmpty(id) && id.Equals("404"))
{
Response.StatusCode = 404;
return !Request.IsAjaxRequest() ? (ActionResult)View("404") : PartialView("404");
}
if (!string.IsNullOrEmpty(id) && id.ToLower().Equals("403"))
{
Response.StatusCode = 403;
return !Request.IsAjaxRequest() ? (ActionResult)View("Security") : PartialView("Security");
}
return !Request.IsAjaxRequest() ? (ActionResult)View("Index") : PartialView("Index");
}
我应该怎么做以显示我的自定义错误消息? 解决方法只需添加以下web.config配置即可通过IIS默认错误处理行为<configuration>
<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>
</configuration> (编辑:哈尔滨站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – App Settings和connectionStrings配置设置中连接
- asp.net-mvc – ASP.NET MVC/C++#:可以使用Html.ActionLin
- asp.net – 是否可以根据用户角色隐藏/显示Kendo网格列?
- ASP.NET Page_Init被解雇了两次!
- asp.net-mvc-3 – 大量使用ViewBag
- 防止双击asp.net按钮
- asp.net – IControllerFactory’MyWebSite.WebUI.Infrastr
- Asp.NET控制文件上传的大小方法(超简单)
- asp.net – Ajax上的Identity Server 3 – 401而不是302
- asp.net – 未知的服务器标签’ajaxToolkit:CalendarExten
推荐文章
站长推荐
热点阅读
