【问题标题】:ASP.NET site won't start under IISASP.NET 站点无法在 IIS 下启动
【发布时间】:2013-07-25 03:39:18
【问题描述】:

ASP.NET、Visual Studio 2010、Windows 8、IIS 8。

我有一个 ASP.NET 站点,我从客户端的源代码管理中提取。它在 Visual Studio 开发服务器下运行良好,但当它不在 IIS 下运行时,有些事情无法正常运行。

当我将它设置为在 IIS 中运行时,由于 IIS_IUSRS 没有读取 web.config 的权限,它最初给了我 500 错误。

我修复了这个问题,现在它开始了,但是如果我浏览到该站点,浏览器就会无限期地坐在那里说“正在连接”——它甚至不会超时。

如果我尝试从 VS 启动它,它会执行类似的操作,但一段时间后会超时并说它无法附加调试器。我在这里和其他地方阅读了有关“无法附加调试器”消息的各种帖子,它们要么不适用于我,要么建议的解决方案没有任何区别。

我检查了正常的 IIS 日志,启用了失败的请求跟踪并检查了这些 - 什么都没有,它似乎甚至没有那么远。我已经尝试更改应用程序池设置等,但没有任何区别。

谁能建议我可以尝试的其他任何事情来弄清楚这里发生了什么?

【问题讨论】:

  • 我猜它是建立在一个旧的框架上,你没有在你的 Windows 8 机器上安装。
  • 应用程序池正在运行。应用程序池应该是正确的版本,但出于绝望,我尝试了所有 4 种可能的配置。应用程序池标识似乎具有正确的访问权限。 web.config 看起来不错。虚拟文件夹已设置。 Fiddler 只是列出了从不返回任何内容的初始请求。我有正确的框架版本。
  • 如果 Fiddler 显示没有响应,请尝试在 IIS 日志中查看是否有与此访问对应的条目。这可能会为发生的事情提供一些提示。如果请求卡在 IIS 处理管道中,除了实时调试或转储分析之外,没有简单的调试方法。
  • @nrkn 抱歉打扰了,但我在尝试使用 IIS 运行我的 django 应用程序时遇到了同样的错误,你解决了这个问题吗?

标签: asp.net iis windows-8 iis-8


【解决方案1】:

我承认您已经说过您已尝试更改应用程序池设置。但是,您没有说您尝试了哪些设置。

每当我设置 IIS 站点时,我通常会接触以下内容:

  • .NET 框架版本
  • 启用 32 位应用程序(我经常使用仅 32 位的托管 dll)
  • 托管管道模式
  • 身份

仔细检查/使用您在 IIS 下的这些设置的值。

另一件值得检查的是 web.config 中的 sessionState 元素。根据我的经验,错误配置的 sessionState 会导致 google 错误,但对我来说,会话​​持久性可能会发生一些事情,但尚未完全持久化到您的网站中。

还要考虑你的冒名顶替。再说一遍:根据我的经验,不正确的模仿会很快出错。但是,如果您使用的是域帐户,那么这似乎有可能无法解决并导致您的应用程序池挂起。

您如何部署到 IIS?您是将源代码转储到 IIS 中,还是在编译和发布 Web 应用程序?无论您要尝试两者中的哪一个,都可以考虑尝试另一个。

您是在发布 Web 应用程序还是调试版本?无论您尝试哪个错误,请尝试另一个,看看是否有效。

请注意此处的安全性:测试为您的应用程序池提供管理员身份。从长远来看,这是一个糟糕的解决方案,但如果您的网站在管理员帐户下运行时可以正常工作,那么这会将您的问题范围缩小到与权限相关。

鉴于目前提供的信息,这就是我所能想到的。你能想到其他可能相关的事情吗?

【讨论】:

  • 好的 - 我已经按照您上面概述的内容尝试了各种应用程序池配置,但没有成功。我以前都试过了,但没有想过启用 32 位,不幸的是它没有帮助。 web.config 中没有 sessionState。我没有尝试通过发布进行部署 - 我现在正在尝试这样做,但它只是坐在那里,输出窗口显示它已经启动但它没有做任何事情。然而,状态栏中的活动指示器正在运行。更改应用程序池标识没有帮助。我的系统非常标准,在此之前我没有遇到任何 IIS 问题。
  • 我有一种强烈的直觉,发布只是无限期地坐在那里,没有超时,没有错误,只是坐在那里,与只是坐在那里说“连接”的网站有关,没有超时或错误。我只是不确定下一步该去哪里。
  • 这可能是一个愚蠢的问题:您是否真的在任务管理器中为您的应用程序池运行了一个 IIS 进程?在“显示所有用户的进程”下查找 w3wp.exe 进行检查。
  • 没有愚蠢的问题,尤其是对于这种难以言喻的问题 - 但是,我愿意。
  • 另一个测试:在 IIS 下,尝试放入一个只包含一个“Default.htm”页面的网站,其中包含一些基本的 HTML。检查是否可以查看。至少应该指出问题是 IIS 应用程序池设置还是与您正在运行的代码有关。
猜你喜欢
  • 2020-12-07
  • 2016-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-24
  • 2019-01-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多