在 Windows 2003 x64 上的 IIS 6 中托管 ASP.NET 4.0

在 Windows 2003 x64 上的 IIS 6 中托管 ASP.NET 4.0

我想要在 Windows 2003 R2 SP2 x64 上的 IIS 6 中托管 ASP.NET 4.0 Web 应用程序。

这有可能吗?我有以下C:\WINDOWS\microsoft.net\Framework

  • 1.0.3705
  • 1.1.4322
  • 2.0.50727
  • 3.0
  • 3.5
  • 4.0.30319

C:\WINDOWS\microsoft.net\Framework64除 1.0 和 1.1 外,其他均相同。

IIS 6 以 32 位模式运行,但网站属性屏幕中没有 ASP.NET 选项卡。因此我无法切换框架,也不知道哪些框架在哪个应用程序池中运行。

编辑尝试了 GregD 的建议。它让我重新在 IIS 中设置了选项卡,以便我可以为网站设置正确的框架,但当我尝试启动应用程序池时,它在事件日志中给出了以下内容:

无法加载站点/服务的所有 ISAPI 筛选器。因此启动被中止。

经过快速谷歌搜索后,我发现了这一点:http://nishantrana.wordpress.com/2008/09/09/service-unavailable-could-not-load-all-isapi-filters-for-siteservice-therefore-startup-aborted/

这让我陷入了困境。在 metabase.xml 文件中启用和删除 64 位设置。

因为aspnet_regiis -i告诉我它无法工作,因为 IIS 处于 64 位设置。

答案1

你能行的。

在您的 Web 服务扩展文件夹(在 IIS 管理器中)中,您的 asp.net 扩展是否针对不同版本启用了?

编辑添加:要恢复您的标签,请尝试以下操作:

1)停止 IIS 管理服务(以及任何依赖于它的服务)

2)在记事本或您最喜欢的 XML 编辑器中打开 C:\WINDOWS\system32\inetsrv\MetaBase.xml。删除写着“Enable32BitAppOnWin64=”TRUE”的那行

3)重新启动IIS

答案2

现在可以使用了。看来我在 IIS 中没有切换框架的选项。

我做到了:

C:\WINDOWS\microsoft.net\Framework\v4.0.30319>cscript c:\inetpub\adminscripts\adsutil.vbs SET /w3svc/AppPools/Enable32BitAppOnWin64 True

进而

C:\WINDOWS\microsoft.net\Framework\v4.0.30319>aspnet_regiis.exe -i -enable

成功了!正如我所说,IIS 中看不到 ASP.NET 选项卡,但它确实有效!

相关内容