asp.net web应用程序中的自定义错误页面

本文关键字:自定义 错误 net web 应用程序 asp | 更新日期: 2023-09-27 18:02:24

我正在开发一个Asp。. NET web应用程序,使用visual studio 2015并在IIS Express下运行。我想给它添加一个自定义的错误页面。

首先,在网络上。配置文件中,我在系统下添加了customErrors标记。网络部分。但它似乎没有任何效果。

<customErrors mode="On" defaultRedirect="/Error.aspx">
   <error statusCode="404" redirect="/Error.aspx" />
</customErrors>

所以我在system.webServer下添加了一个httpererrors标记。它显示给我一个空白页。

<httpErrors existingResponse="PassThrough" />
所以我把上面的httpErrors标记改成了这个:
<httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="ExecuteURL" defaultPath="/Error.aspx">
  <clear/>
  <error path="/Error.aspx" responseMode="ExecuteURL" statusCode="404"/>
</httpErrors>

显示了"lock violation"错误。我试图删除应用程序主机中的defaultPath。配置文件,重新启动计算机,但出现相同的错误

即使在全局。在404等错误的情况下,Application_Error不会被触发。

有人知道吗?

编辑:我尝试在一个新的解决方案中做同样的事情:所以我创建了一个新的web应用程序——Blank webforms模板。相同的结果。但是当我创建一个新的web应用程序-空白MVC解决方案时,它工作了。

在webforms和mvc之间的配置有什么不同吗?是否有人有同样的问题与webforms模板?

asp.net web应用程序中的自定义错误页面

我可以重定向到错误页面。我在我当前的MVC项目中尝试了这一点。以下是我所做的摘录

  1. 在Views/Shared/error .cshtml下使用我的解决方案中的现有错误页
  2. 使用自定义错误参数

<customErrors mode="On" defaultRedirect="~/Views/Shared/Error.cshtml"> <error statusCode="404" redirect="~/Views/Shared/Error.cshtml" /> </customErrors>

在我的索引中故意抛出404错误。cshtml

@Response.StatusCode=404 @Response.End()

提示:请尝试查看路径以及您如何测试404错误