【问题标题】:Default or custom error page? - WebConfig custom error defaultRedirect默认或自定义错误页面? - WebConfig 自定义错误 defaultRedirect
【发布时间】:2019-04-03 16:18:00
【问题描述】:

准备考试,如果在customError中不指定错误代码,会得到默认错误页面吗?

我想既然你设置了 defaultRedirect,所有的错误,无论它们是否被专门考虑都会被发送到 defaultRedirect 页面。然而,我看到的练习题却恰恰相反。我查看了documentation,我只能看到它说如果自定义页面不存在,它指的是默认值

<customErrors mode="On" defaultRedirect="Error.htm">
  <error statusCode="500" redirect="/CustomError.html"/>
</customErrors>

原始问题

发生 400 级错误时,将显示 ASP.NET 默认错误页面。 [对/错]

我相信这是假的,答案说是真的。

【问题讨论】:

    标签: asp.net configuration custom-error-pages system.web


    【解决方案1】:

    如果不指定错误代码,是否会得到默认错误页面 在 customError 里面?

    是的。如果您未在 customError 中指定错误代码,则将使用默认错误页面。如果您在 customError 中指定错误代码,则将使用指定的页面。当然,customError 仅适用于由 ASP.NET 处理的元素,因此您可以获得 IIS 错误页面,而不是 web.config 文件中列出的任何内容。

    从您链接到的文档中,

    当您定义自定义错误时,ASP.NET 会为其分配标准 错误通常由底层服务(如 IIS)发出。 为 例如,如果您为状态代码 404 定义自定义错误, 只要您引用不存在的 .aspx 页面,ASP.NET 就会发出它。 自定义错误仅针对由处理的那些元素发出 ASP.NET。例如,如果您引用一个不存在的 .htm 页面,IIS 发出标准 404 错误。

    要回答您提供的具体问题,

    当出现 400 级错误时,ASP.NET 默认错误页面 显示。 [对/错]

    这是真的,因为在 web.config 中没有为 400 级错误指定页面,因此使用默认错误页面。这假定错误发生在 ASP.NET 应用程序中。

    【讨论】:

    • 感谢您的回复。如果未指定的错误使用 iis 默认错误,“defaultRedirect="Error.htm"”有什么意义?您是否能够声明多个错误代码而不指定重定向部分,因此它们都会转到您的自定义 defaultRedirect?
    • defaultRedirect 属性是 ASP.NET 应用程序将使用的默认错误页面,如果错误代码没有给出特定页面并且错误由 ASP.NET 处理。如果错误不是由 ASP.NET 处理,您只会看到 IIS 错误页面。您链接的文档中有一个示例。我没有看到任何关于如果你删除 defaultRedirect 会发生什么的文档,但你可以试试看。解决这个问题将帮助你理解比任何事情都重要的事情。如果我的回答有帮助,请考虑给我一个赞成票并将其标记为最佳答案。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    相关资源
    最近更新 更多