IIS应用池"启用32位应用程序"导致Service Unavailable

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIS应用池"启用32位应用程序"导致Service Unavailable相关的知识,希望对你有一定的参考价值。

对应用池开启了 "启用 32 位应用程序" 后,打开网站出现 HTTP Error 503

这是一个 enable32BitAppOnWin64 后的问题 

---------

Service Unavailable

HTTP Error 503. The service is unavailable.

---------

在IIS中检查应用池,发现网站关联的应用池已经停用状态。

 

检查 Windows日志,应用程序日志中发现,来源:IIS-W3SVC-WP,事件 ID:2282

描述:

由于配置问题,无法加载模块 DLL“xxx.dll”。当前配置仅支持加载为 x86 处理器架构构建的映像。数据字段包含错误号。

 

解决方案:停止IIS,修改 C:\Windows\System32\inetsrv\config\applicationHost.config

为其中有问题的DLL指定加载模式 preCondition="bitness64",如

------------

<add name="XXX" image="XXX.dll" preCondition="bitness64" />

<filter name="AAA ISAPI Filter" path="AAA.dll" enabled="true" preCondition="bitness64" />

之类..

-------------

启动 IIS。

 

文章参考:http://blogs.msdn.com/b/rakkimk/archive/2007/11/03/iis7-running-32-bit-and-64-bit-asp-net-versions-at-the-same-time-on-different-worker-processes.aspx

原文: http://zzy.my/blog/post/IISService-Unavailable

以上是关于IIS应用池"启用32位应用程序"导致Service Unavailable的主要内容,如果未能解决你的问题,请参考以下文章

设置IIS 兼容32位DLL

配置:使安装在64位系统上的IIS7支持32位的应用程序

在同一应用程序池中的 64 位应用程序中使用 32 位 dll

IIS 配置PHP环境HTTP 500错误处理方法

IIS启动32位运行库

未能加载文件或程序集"xxxxxx"或它的某一个依赖项