【问题标题】:Why is my MVC app throwing a blank page?为什么我的 MVC 应用程序会抛出一个空白页?
【发布时间】:2010-12-20 17:01:16
【问题描述】:

将我的 ASP.NET MVC 2 应用程序部署到 IIS7 暂存服务器会导致空白页,无论调用的操作如何。访问需要身份验证的控制器操作的尝试被正确重定向到/Account/LogOn,但此页面在我的本地计算机和远程服务器上也只显示一个空白页面。

我检查了我的站点权限,我认为这是一个程序集问题,但应用程序日志中没有显示错误。

如何确定错误原因?

我最近在我的开发机器上安装了 ASP.NET MVC 3,但没有对此项目进行任何更改,并且我正在使用 StructureMap 进行 DI,如果这会有所不同的话。

【问题讨论】:

  • 也许 EventLog 中有一些东西表明了错误可能是什么?
  • “应用程序日志中没有显示错误”

标签: c# asp.net-mvc deployment


【解决方案1】:

您可以尝试从 Nuget 安装 Elmah

在包管理器控制台中,键入 install-package elmah。然后运行您的应用程序。

另外,如果您实际上没有收到任何错误,您是否在浏览器中检查了呈现的源代码?您的母版页中可能包含注释掉的内容。不过可能不会!

另一个建议是在执行Clean Solution 后完全清空 bin 目录,重新构建,然后重试。

在这种情况下,它通常有助于将问题分解为复制问题所需的最小步骤。在您的情况下,删除所有路线,排除您需要的路线,清空您的母版页并查看一个非常简单的“hello world”,并注释掉您操作中的任何代码,这样它就不会进入数据库或者别的什么。

【讨论】:

  • 我尝试了一个干净的解决方案并进行了重建,结果相同。我现在要尝试一个新的 MVC 应用程序,看看它是否与应用程序无关。
  • 您使用的是 .NET 3.5 还是 .NET 4?您可能想要检查所有项目和引用是否与所需的运行时匹配,但如果不是这种情况,通常应用程序会显示 YSOD。
  • .NET 4.0,它安装在服务器上,其他应用程序在它上面运行。
  • 所以应用程序池也设置为 .NET 4.0?听起来很奇怪,但我在默认情况下指向 .NET 2 时遇到了这种情况。
  • 应用程序池设置为4.0,是的。我会尝试为 3.5 编译,看看是否会有所不同。
【解决方案2】:

如果您在 Global.asax 中有一个 Application_Error 处理程序,则可能会隐藏错误。

当我遇到这个问题时,web.config 中有一个错误

【讨论】:

    猜你喜欢
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-25
    • 2012-05-21
    • 2022-10-15
    相关资源
    最近更新 更多