对应用池开启了 "启用 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