代码之家  ›  专栏  ›  技术社区  ›  Keith

预编译.NET应用程序接收“Internet Explorer无法显示网页”

  •  0
  • Keith  · 技术社区  · 14 年前

    我们有一个运行许多Web应用程序的Web服务器。当我接管这台服务器时,我注意到站点没有预编译,所以为了清理它,我使用VS2008中的发布选项预编译了站点(并允许预编译的站点可更新)。

    当我将站点部署到Web服务器时,站点停止工作-在IE中,我得到 "Internet Explorer cannot display the webpage" -在火狐中我得到 "Unable to connect. Firefox can't establish a connection to the server at >>sub.domain.com<<" . 我注意到以下几点:

    • 我可以手动浏览到站点中的一个静态.html文件
    • 如果我用未编译的代码替换服务器上的预编译文件,则该站点可以正常工作。
    • 如果我将应用程序池切换为使用.NET 4.0,则会在复制的system.web.extensions模块中出现错误,我希望在为.NET 3.5构建的应用程序中看到该模块。
    • 当我刚浏览完一个新的iisreset之后,这个应用程序会重定向到/login.aspx,web.config将其定义为表单auth登录页面。然后它重定向到/default.aspx并显示有问题的错误。
    • 客户错误已关闭,调试已启用,但我没有得到有用的.NET错误页,并且在Windows事件日志中未看到任何系统或应用程序级事件。

    有没有迹象表明为什么会发生这种情况?我可以在同一台服务器上成功地预编译另一个站点,没有任何问题。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Keith    14 年前

    我自己发现了问题。如果主机头不是localhost,则登录页将重定向到https。我注意到,在未编译的站点中,有人手动进入登录页面的.vb文件,并将beta站点的特定域添加到此检查中,从而阻止重定向到https。我将代码复制到本地,重新编译并部署,现在该站点按预期工作。