据我所知,IIS7 及更高版本的所有程序都可以同时支持 32 位和 64 位应用程序... 那么为什么“启用 32 位应用程序”仍然是 IIS 的一个选项?为什么它不能自动同时支持两者?
答案1
一些第三方组件仍然没有 64 位选项,在这种情况下需要 32 位环境才能运行。
以 Excel 为例。如果您正在编写一个将输出转储到 Excel 工作表的 Web 应用程序,并且需要使用 Microsoft Interop 组件,那么您就必须在 32 位环境中运行。或者,如果您有一个使用 ADO 与 Excel 交互的 Web 应用程序,那么您也将在 32 位环境中工作。
针对最后一点关于为什么不自动支持两者(以及与 DJ Pon3 的回答相结合)的问题,微软正在积极尝试推动纯 64 位环境。考虑到这一点,很容易得出 32 位选项默认被禁用的结论。这让我的上面的例子变得相当幽默。
答案2
为什么会您希望您的应用程序框架 / 环境支持您不会使用的东西吗?每次您不运行不需要的代码,您可以通过使用更少的资源来提高性能,通过使用更少的代码来提高稳健性,从而减少出现错误的可能性,通过减少攻击面来提高安全性。