我有一个奇怪的问题。
64位Windows 7 Pro机箱已安装IIS 7.5 / 64。已将应用程序池配置为启用32位应用程序,并且已使用此应用程序池创建了站点。但是,当站点的工作进程启动时,它始终作为64位进程启动。应用程序池的“位数”在任务管理器中得到证明,任务管理器没有带有w3wp.exe进程名称的“* 32”标记。
我尝试删除并重新创建应用程序池,创建一个新的应用程序池,并重新注册32位框架,每次都重新启动IIS,但都无济于事。我确信我在“森林树木”模式中忽略了一些微不足道的事情,所以我们会欣赏正确的方向来清理雾气。
我已经阅读过几篇关于此类问题的帖子,但大多数都集中在确保应用程序池配置为“启用32位应用程序”,这是首先采取的步骤之一。
答案 0 :(得分:2)
你有没有设置
enable32BitAppOnWin64
是真的吗?
这是作为ApplicationPool类的属性公开的,可以通过编程方式设置:ApplicationPool.Enable32BitAppOnWin64。
此外,这是一个关于在IIS 7上设置属性的问题(不确定您是否在Azure上,但我相信这个想法可以转移到非Azure环境)。
How to change property Enable32BitAppOnWin64 of Application Pool on IIS 7 on Windows Azure?
最后,您可以在“应用程序池默认值”中进行设置:http://www.iis.net/configreference/system.applicationhost/applicationpools/applicationpooldefaults
答案 1 :(得分:1)
好吧,经过几天的搔痒,我终于解决了这个问题。
通过IIS管理工具验证框中的每个应用程序池都将“启用32位应用程序”显式设置为True后,我进入了机器的 applicationHost.config ,以及那些相同的池将此属性设置为False。我手动将这些条目编辑为True,重新启动IIS,然后重新注册32位版本的ASP.NET,现在机器正常运行。
感谢您的建议。我不完全是为什么IIS管理工具基本上向我说谎启用32位应用程序设置,但哦,好吧...... :)