Windows 2008 R2 64位 运行.NET Framework 4.0网站的错误总结

           最近在单位新服务器上搭建基于.NET Framework4.0的网站,结果一切都安装OK后,网站怎么都运行不起来(但是基于.NET2.0的网站能够运行起来,很是奇怪),除了简单的500错误外没有任何线索。然后打开IIS7.5的跟踪日志,发现提示错误为“ISAPIMODULE 不是有效的win32程序”。通过分析发现,原来是因为我们的网站是基于x86平台开发的,对应的ASP.NET 4.0应用程序池设置了“启用32位管理”,所以网站会调用基于x86的isapi。可是在安装.NET Framework4时本身是包含32位和64位的,为什么会有如此提示呢?后来只能一个一个卸载,争取复原原始环境。

服务器背景:Windows 2008 R2 Standard 64bit(已安装TFS2010,因为服务器资源短缺,只能是web和tfs共用一台服务器)。

操作步骤:

  1. 卸载IIS,因为isapi有问题,我们猜测是iis有问题——成功卸载
  2. 重新安装IIS——出现错误

          提示:错误: 尝试安装 IIS 管理控制台 失败,错误代码为 0x80070643。 安装时发生严重错误

         后来通过在网上多方查找,原来是因为和WAS (Windows Process Activation Service)服务有关,必须先卸载该功能才能安装IIS。

         这时,我突然觉得.NET4.0 32bit 运行有问题可能真的和这个服务有关(因为之前安装的2008服务器都没问题,只有这台不知道谁给装上了这个WAS)。

        于是在“服务管理器--》功能--》删除功能”中,找到WAS,并删除它,然后重新安装IIS,安装成功。

   3.   重新安装.NET 4.0 Framework

   4.   部署网站

   5.   修改应用程序池,启用Win32,网站运行成功。

总结:

我认为这次之所以失败,很有可能是因为某个服务导致的.NET Framework安装顺序不正确,结果isapi.dll识别不出来。如果遇上此类问题,最好还是重新安装IIS,然后重新设置。通过aspnet_regiis的方法,有时可以,但有时不成功

--------------------------------------------------------------------------

再次总结:

今天有了新的发现,今天重新安装WSS 3.0(Sharepoint)后,网站又不能用了,而且IIS的默认站点也被WSS给删除了,看来应该是它捣的鬼,它的安装修改了IIS的设置,网站下的应用程序出现了问题,以后得要多注意。我现在新建了一个默认网站,修改WSS的端口,能够基本运行,但是有很多小问题,希望不要再重装IIS了

你可能感兴趣的:(framework)