【问题标题】:MVC content cut off resulting in blank pageMVC 内容被截断导致空白页
【发布时间】:2010-01-21 19:29:33
【问题描述】:

我有一个我自己无法解决的最奇怪的问题。

我有这个 ASP.NET MVC 1 应用程序,它使用 IIS5 在我的本地开发机器上完美运行。

我通过添加 .mvc 控制器的路由和 aspnet_isapi.dll 过滤器进行了适当的更改,以使 MVC 在 IIS5 上工作,如 http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx 中所述

现在是时候将它部署到带有 IIS6 的 Windows Server 2003。我做了与上述文档中描述的完全相同的更改。

结果是,当我访问我的 MVC 视图时,它不会抛出任何错误,但页面是空白的!我在事件日志或 IIS Web 日志中查找错误,什么都没有。

经过仔细检查,我通过 Firefox 使用了“查看源代码”,而对于我在服务器上的空白页面,这是我得到的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1"><title>

</title>

<style type="text/css">
/*margin and padding on body element
can introduce errors in determining
element position and are not recommended;
we turn them off as a foundation for YUI
CSS treatments. */
body {
margin:0;
padding:0;
}
</style>   

<!--BEGIN: Styles-->   

就是这样,&lt;!--BEGIN: Styles--&gt;之后的内容就被截断了。当我比较当我在本地机器上运行的同一页面上“查看源代码”时得到的内容时,以上所有内容都在那里,但不同之处在于,在&lt;!--BEGIN: Styles--&gt; 之后,内容继续与其余部分HTML 如 CSS 外部包含和 Javascript 外部包含,后跟 &lt;BODY&gt; 等...

我对此感到很头疼,有人在 Windows Server 2003 上将 MVC 应用程序部署到 IIS6 时遇到此问题吗?

【问题讨论】:

    标签: asp.net-mvc deployment iis-6 windows-server-2003


    【解决方案1】:

    网站中是否还有其他 ISAPI 过滤器?如果在与您的网站相同的应用程序池中运行其他应用程序,请尝试在不同的应用程序池中运行它。此外,如果您有权访问服务器,您可能需要检查事件日志。

    【讨论】:

    • 是的。检查了事件日志。空空如也。它在自己的专用应用程序池中运行...但是在保存服务器上运行其他网站(非 mvc),也在它们自己的池中。
    【解决方案2】:

    我终于找到原因了!

    事实上,我有一些 导致在 VIEW 中抛出异常。在正常情况下,错误会出现。但是我忘记了我已经创建了一个自定义的 HandleErrorAttribute。在这个处理程序中,我确实返回了错误,除了错误消息是在标头值中返回的,而不是在 HTTP 输出流中。这个处理程序是为了在 AJAX 调用期间处理错误而编写的。但在这种情况下,它不是 AJAX 调用。

    呵呵!我一直在绕圈子,直到我在看起来可疑的代码块周围放置了一个 Try, Catch。这就是我发现确实抛出异常的原因,这促使我追查异常被吞噬的地方!

    感谢大家帮忙!

    【讨论】:

      猜你喜欢
      • 2015-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 2017-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多