【问题标题】:Invalid route in ASP.net MVC Core 2 app shows blank pageASP.net MVC Core 2 应用程序中的无效路由显示空白页
【发布时间】:2018-04-13 12:07:21
【问题描述】:

我有一个新的空 asp.net MVC Core 2 Web 应用程序。当转到不存在的路线而不是出现错误页面时,它只会显示一个空白页面。

该站点是使用 IIS 设置的。我在开发环境中。我试过评论 app.UserExceptionHandler("/Home/Error"); 和 app.UseDeveloperExceptionPage(); - 我已经在我的环境中单独尝试过它们。没有任何区别,只是返回了空白页。

为什么当我输入无效路线时没有返回错误以及如何查看它们?

我还在 /Home/Error ActionMethod 上进行了调试,以查看它是否被击中 - 它从未被击中。谢谢。

【问题讨论】:

    标签: asp.net-core-mvc asp.net-core-mvc-2.0


    【解决方案1】:

    简短回答: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/error-handling?view=aspnetcore-2.0

    长答案:

    调试器不会触发第一行。 还有另一种配置可以专门用于错误代码,但需要更多接线。

    app.UseStatusCodePagesWithRedirects("/error/{0}");

    对于未找到的 404,目标将是 404.cshtml。例如,通常从共享文件夹加载 401 等。

    在您的情况下,主控制器的主文件夹中是否存在 error.cshtml?是否打算将它用于 SPA 类型的应用程序?

    【讨论】:

    • 我刚从 MVC 5 世界中走出来,并试图在全新构建之前弄清楚 Core 是如何工作的。所以它只是一个“普通”的 MVC 风格的服务器端 Web 应用程序。不存在的路线的空白页是设计使然吗?这就是模板的设置方式。
    • 它是默认设置核心 mvc 设置吗?
    • 是默认值。这是一个示例,我正在设置 Elm(.core Elmah 之类的包) - 如果用户转到不存在的路线,我希望 Elm 通知我 - 但它不会因为没有引发错误。
    • 另外 - 当从无效路由返回空白页时 - 调用什么代码?到底发生了什么?
    • 我可能已经想通了 - 很多示例在 'app.UseStatusCodePages();' 中都有这一行在配置中 - 它返回 404(我假设其他状态代码)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-06
    相关资源
    最近更新 更多