点晴MIS内部交流论坛 加入收藏
新手上路
论坛搜索
 您的位置:点晴MIS系统问题答疑『 经验分享&问题答疑 』浏览当前帖子  
登 陆注 册论坛帮助  

  网站搜索
  搜索范围: 搜索方式: 关键词(可用空格分开)  

  作者及文章信息: 本文热度:12418 % 
admin

积分:74803
等级:网站管理员
文数:13698
注册:2004-7-20

 信息   留言   主页   编辑   引用    

楼 顶 

 Windows Server2008安装.NET Framework4.0框架后在IIS中找不到的解决方法


昨天将一个 ASP.NET 4.0 的网站安装到客户的 IIS6 主机上 (测试环境),结果过程非常不顺利,曾经一度觉得客户的主机不知道经过几只手蹂躏过了(因为有好多人在共享 Administrator 账号)进而产生排斥安装在客户主机以及 “为什么我们要用 ASP.NET 4” 的感觉,不过在一群人的努力之下最后还是克服了困难,特别因此写下笔记,相信这些问题有其他人也可能会遇到。

要执行 ASP.NET 4.0 网站必须先安装 Microsoft .NET Framework 4独立安装包

安装前必须先确定你的操作系统版本是在支持的范围内:

  • Windows XP SP3
  • Windows Server 2003 SP2
  • Windows Vista SP1 (含) 以后版本
  • Windows Server 2008 (服务器核心角色不支持)
  • Windows 7
  • Windows Server 2008 R2 (服务器核心角色不支持)

常见问题1:设定网站站台ASP.NET 页面时找不到 ASP.NET 4.0 的选项

注意:如果你只有安装 .NET Framework Client Profile 是不支持 ASP.NET 的,必须下载 Microsoft .NET Framework 4 (独立安装程序) 来安装才会完整。

正常来说,只要 Windows Server 2003 已经先安装好 IIS 再安装 Microsoft .NET Framework 4,就可以在 IIS 6.0 网站站台ASP.NET 页签找到 ASP.NET 4.0 的选项:

常见问题2:安装好 .NET 4 后还是找不到设定网站站台ASP.NET 页签的 ASP.NET 4.0 的选项

这问题通常出在先安装 Microsoft .NET Framework 4 才安装 IIS6,这时必须在“开始-》运行”中输入以下指令,将 ASP.NET 4.0 注册进 IIS6 即可:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir -enable

常见问题3:安装好 .NET 4 也设定好网站站台的 ASP.NET 4.0 的选项依然无法执行网站

这里的「无法执行网站」其实所有执行的页面都会出现 找不到这个页面 (HTTP 错误 404 - 找不到档案或目录) 的响应,不管你怎么设定目录安全性或任何执行权限都无法执行任何 ASP.NET 程序,而且可能只有静态页面可以读取而已,像是如下图示这么一般性的错误讯息真的很容易让 IT人员不知如何是好:

如果你因为安装 ASP.NET MVC 而有设定「通配符应用程序对应」的话,则会发现网站所有页面包括静态档案读去都会响应 找不到这个页面 的错误!

此问题发生的原因是 IIS6 阻挡了 c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll 程序的执行,由于所有会被导向到此 ISAPI Handler 的要求全部都会失败,所以才会导致你所有 HTTP 要求都会得到 HTTP 404 Not Found 的结果。

解决方式很简单,只要到 [网页服务延伸] 的地方将 ASP.NET v4.0.30319 设定 [允许]即可,如下图示:

常见问题4:ASP.NET 4.0 的网站站台已经设定好也可以正常执行了,但执行一段时间会自己挂掉!

如果你在同一个应用程序集区设定了两个不同版本的 ASP.NET 就会造成这个问题,例如你原本有个 ASP.NET 2.0 的站台,并且设定的应用程序集区为 DefaultAppPool,然而你之后又新增了一个 ASP.NET 4.0 的站台,而默认的应用程序集区也是在 DefaultAppPool 的话就会发生冲突了,这时就会看是哪个站台先被执行起来,先跑起来的那个站台才会抢到所有权,后面执行的那个就会发生 Server Application Unavailable 或 服务器应用程序无法使用 的错误:

解决的方法有二:

  • 将共享应用程序集区的 网站站台 网站应用程序(虚拟目录) 都设定到 ASP.NET v4.0.30319
  • 区分两个不同的应用程序集区

该文章在 2016/1/26 16:56:53 编辑过

  离 线  2016-1-26 16:56:35 
  本文章共有 0 页, 0 张回文,每页有 10 张回文 >> [ ]
页码:  
Copyright 2003-2024 ClickSun All Rights Reserved