【问题标题】:Custom error page in "Release" mode and default error page in "Debug" mode“发布”模式下的自定义错误页面和“调试”模式下的默认错误页面
【发布时间】:2023-03-03 14:59:01
【问题描述】:

我想在项目处于生产状态(发布模式)时显示自定义错误页面,并在(调试模式)运行页面时显示来自 asp.net 的默认错误页面。

我的项目中有三个 Web.config 文件。

  • Web.config
  • Web.Debug.config
  • Web.Release.config

这是我尝试过但没有运气的方法。

Web.config

<customErrors mode="On" defaultRedirect="~/Home/Error">
    <error statusCode="404" redirect="~/Home/Error" />
</customErrors>

Web.Debug.config

<customErrors mode="Off" xdt:Transform="Replace"></customErrors>

Web.Release.config

<customErrors mode="On" defaultRedirect="~/Home/Error">
    <error statusCode="404" redirect="~/Home/Error" />
</customErrors>

有人知道我该怎么做吗?

提前致谢:)

编辑: 阅读后,我认为这是一个已知的错误,但我无法找到解决此问题的错误。如果有人对此有更多了解,请分享。谢谢

【问题讨论】:

  • 如果你在 vs2010 上安装免费的 slowcheeta 扩展。它为每个转换 xml 文件提供了一个右键单击 -> 预览功能,这对调试这些非常有用。

标签: asp.net asp.net-mvc web-config


【解决方案1】:

好的。所以我弄清楚出了什么问题。

Web.config

<customErrors mode="Off" defaultRedirect="~/Error.htm"></customErrors>

Web.Debug.config

<compile debug="true" />
<customErrors mode="Off" xdt:Transform="Replace"></customErrors>

Web.Release.config

<customErrors mode="On" defaultRedirect="~/Error.htm" xdt:Transform="Replace">
     <error statusCode="404" redirect="~/Error.htm" />
</customErrors>

上述更改将默认禁用错误消息,并且每当项目部署在生产服务器上时,Web.Release.config 中的设置将覆盖默认的Web.config

以下是我认为有用的资源/链接列表:

我希望这对尝试完成同样事情的其他人有所帮助。

【讨论】:

  • 我认为你应该更新你的链接,第一个有死链接(字面意思)。
【解决方案2】:

这是一个已知的错误。该功能现在只能作为部署过程的一部分使用。 请检查下面的帖子

How can I use Web.debug.config in the built-in visual studio debugger server?

或者您可以只使用“默认”web.config 作为您的开发/调试版本,然后 web.release.config 当然会继续作为发布版本,因为它的转换会在您发布时应用。

希望它会有所帮助。

【讨论】:

  • 那么在Web.Release.config中所做的任何更改只有在项目部署在服务器上时才会执行?
  • @FarhanAhmad 是的,这就是这个功能的作用。
  • 感谢您的帮助。我发现出了什么问题。看我的回答。
猜你喜欢
  • 2020-04-30
  • 2012-05-19
  • 2012-09-07
  • 2019-04-03
  • 1970-01-01
  • 1970-01-01
  • 2015-09-16
  • 1970-01-01
  • 2012-07-15
相关资源
最近更新 更多