Windows 8.1 / Windows 10 破坏了我的 ASP.NET / IIS:“服务不可用”

Posted

技术标签:

【中文标题】Windows 8.1 / Windows 10 破坏了我的 ASP.NET / IIS:“服务不可用”【英文标题】:Windows 8.1 / Windows 10 breaks my ASP.NET / IIS : "Service unavailable" 【发布时间】:2013-09-13 21:57:04 【问题描述】:

随着 Windows 8.1 今天终于发布到 MSDN/Technet,我在使用 Win 8.1 RTM 进行就地升级后运行我的 ASP.NET 应用程序时遇到了以下问题:

服务不可用

HTTP 错误 503。服务不可用。

AppPool 已死亡并显示Stopped 状态

IIS 日志没有任何内容

Windows 应用程序日志中有一条线索包含此错误

The Module DLL C:\WINDOWS\system32\inetsrv\rewrite.dll failed to load. The data is the error.

如何恢复我的 IIS 以使其再次工作?

【问题讨论】:

System 事件日志显示与Application 日志中的错误相关的错误:A listener channel for protocol 'http' in worker process '####' serving application pool 'MyAppPool' reported a listener channel failure. The data field contains the error number.@Simon_Weaver 有正确答案。 值得注意的是,从 Win 7 升级到 Win 10 时也会发生这种情况。@simon-weaver 自己的答案仍然是正确的 :) 以及从 Win 10 到 Win 10 周年纪念版。呃 【参考方案1】:

看起来简单的卸载并重新安装重写模块就可以解决问题。

编辑:正如其他人所说 - 先尝试修复 - 如果它有效,那么应该会更快。

看起来Microsoft Web Platform Installer 无法卸载它,所以只需转到Programs and Features 来卸载它。

您会发现它被列为IIS URL Rewrite Module 2,只需点击顶部的Uninstall 按钮。

然后从这里重新安装:

http://www.iis.net/downloads/microsoft/url-rewrite

确保您的应用程序池已启动 - 或者只需重新启动 IIS,它应该会再次运行。


编辑:2016 年 8 月 30 日:如果您安装了“新”.NET 核心并更新到 Win 10 周年版,可能会出现类似但不相关的错误。见这里:https://github.com/aspnet/Home/issues/1583 - 在 VS 2015 Tooling Preview 上运行修复应该可以修复它。想在此处添加它,因为错误与此答案非常相似。

【讨论】:

我意识到 Windows 8.1 有一个新的 IIS 8.5,但如果有人具体知道为什么会失败,我很想知道。这几乎是我知道我正在使用的唯一扩展,所以我不知道这是否特定于重写模块或任何模块。 @blake 您在升级到 Windows 8.1 时遇到此错误?我以前在新安装 Windows 时遇到过它,只是忘记安装这个模块。我假设由于 IIS 8.5 是一个新版本,它只会清除所有内容,包括扩展(或模块或其他任何内容)。幸运的是,在我的升级中似乎没有其他任何问题,并且我的所有其他 IIS 设置都被保留了 是的,我升级到了 8.1,我的所有应用程序都被淘汰了:\. 我正在运行 Windows 8.1 当我卸载模块时,我的应用程序实际上开始工作了。 卸载程序不可用,必须手动删除此注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\URL Rewrite【参考方案2】:

我在将 Win8.1 更新到 Win10 后收到此事件日志错误。要修复,进入控制面板->程序和功能,找到IIS URL Rewrite Module 2,右键选择Repair(很快)。接下来,重新启动已停止的 AppPool(s)。现在应该可以了。

无需卸载或重新安装。

加里·戴维斯

【讨论】:

我刚升级到 Windows 10 时得到了这个,这对我有用。 从 Windows 2008 升级 -> 2008 R2(不要问,不想),同样的问题,同样的解决方案。 我在常规 Windows 更新后遇到了同样的问题(太奇怪了)。这个解决方案为我解决了这个问题。【参考方案3】:

不需要卸载。只需进行修复即可。

【讨论】:

感谢分享,虽然这对我不起作用。不过,卸载/重新安装方法确实对我有用。 简单的修复对我有用。这是在 Windows 更新之后,以防有人想知道。【参考方案4】:

由于一些奇怪的原因,我唯一的解决方案是安装以前版本的模块,来自https://www.microsoft.com/en-us/download/details.aspx?id=7435

【讨论】:

对于 Windows Server 2012 r2 开箱即用的演示/测试 - 这是有效的技巧。重写 2.1 根本行不通 这对我有用。无需重新安装,无需修复,只需使用您提供的链接降级到 2.0。干得好!【参考方案5】:

我刚刚在更新后遇到了这个问题。所有停止的应用程序池! 启动它们解决了这个问题。

【讨论】:

【参考方案6】:

昨晚我遇到了类似的问题。

最初是关于缺少 redirect.dll 的投诉。安装 IIS 的重定向功能后,该日志消息消失了,我只剩下一堆来自 WAS 的错误消息。它尝试了五次启动我的应用程序池直到放弃。

工作进程“120”服务中协议“http”的侦听器通道 应用程序池“我的应用程序池”报告了侦听器通道故障。 数据字段包含错误号。

错误代码是“8007007E”(根据谷歌找不到文件)。

然后我从sysinternals.com 安装了 ProcMon,每次 w3wp 进程在终止前抱怨“未找到名称”时,我都在谷歌上搜索并安装了相应的 IIS 功能。我重复了这个,直到我把它们全部安装好并让一切都恢复正常。

安装所有东西不是一个好的解决方案,但我现在没有时间深入调查。

【讨论】:

我从您的回答中带头并在通用 HTTP 功能下勾选了“HTTP 重定向”。那解决了它。我还启用了 asp.net 3.5 和 3.5 .net 可扩展性,但我认为是重定向实现了它。这是在 windows 必须为我卸载 IIS 之后,重新设置它很痛苦。【参考方案7】:

更改域密码后,我遇到了类似的症状。我还必须在我的开发箱(硬编码!)应用程序池设置中重置我的密码。

【讨论】:

【参考方案8】:

我遇到了与“httpplatformhandler.dll 加载失败”类似的问题。同样,解决方案是从 http://www.iis.net/downloads/microsoft/httpplatformhandler 下载适当的 httpplatformhandler install msi,然后运行修复。

【讨论】:

【参考方案9】:

更新到 W10 Insider Preview 160826-1902 后修复对我有用

【讨论】:

【参考方案10】:

我在 Windows Server 2012 R2 中遇到了同样的问题。在我将 Windows 更新更新到最新之后,它就可以工作了。

【讨论】:

以上是关于Windows 8.1 / Windows 10 破坏了我的 ASP.NET / IIS:“服务不可用”的主要内容,如果未能解决你的问题,请参考以下文章

构建兼容8.1和10的Windows应用程序

命名控件存在于 Windows 10 但不存在于 Windows 8.1

如何在 Windows Phone 8.1 / Windows 10 上创建自定义 VirtualizingPanel?

在 Windows 10 中检测到布局周期,但在 Windows 8.1 中未检测到

Windows 7 或 Windows 8.1用户如何免费升级至Windows 10?

我在 Windows 8、8.1 和 Windows 10 中的应用程序无法识别地图驱动器