2

我有一个奇怪的问题。

64 位 Windows 7 Pro 盒子安装了 IIS 7.5/64。已将应用程序池配置为启用 32 位应用程序,并且已使用此应用程序池创建了一个站点。但是,当站点的工作进程启动时,它始终作为 64 位进程启动。应用程序池的“位数”在任务管理器中得到证明,它没有带有 w3wp.exe 进程名称的“*32”标记。

我试过删除并重新创建应用程序池,创建一个新的应用程序池,重新注册32位框架,每次都重新启动IIS,都无济于事。我敢肯定,在“以林换树”模式下,我忽略了一些微不足道的事情,因此我们将不胜感激朝着正确的方向推动以清除迷雾。

我已经阅读了有关此类问题的几篇文章,但大多数文章都集中在确保将应用程序池配置为“启用 32 位应用程序”,这是采取的第一步。

4

2 回答 2

2

你设置了吗

enable32BitAppOnWin64

是真的吗?

这作为 ApplicationPool 类上的一个属性公开,可以通过编程方式设置:ApplicationPool.Enable32BitAppOnWin64

此外,这是一个关于在 IIS 7 上设置属性的 SO 问题(不确定您是否在 Azure 上,但我相信这个想法应该可以转移到非 Azure 环境中)。

如何在 Windows Azure 的 IIS 7 上更改应用程序池的 Enable32BitAppOnWin64 属性?

最后,您可以在应用程序池默认值中进行设置:http ://www.iis.net/configreference/system.applicationhost/applicationpools/applicationpooldefaults

于 2013-01-21T15:19:25.350 回答
1

好吧,经过几天的挠头,我终于解决了这个问题。

在通过 IIS 管理工具验证盒子上的每个应用程序池都将“启用 32 位应用程序”明确设置为 True 后,我进入了机器的applicationHost.config,并且这些相同的池将此属性设置为 False。我手动将这些条目编辑为 True,重新启动 IIS,然后重新注册 32 位版本的 ASP.NET,机器现在可以正常运行。

感谢您的建议。我不完全是为什么 IIS 管理工具在启用 32 位应用程序设置方面对我撒谎,但是哦,好吧...... :)

于 2013-01-22T14:53:26.457 回答