IIS运行asp程序出现The requested resource is in use 和 安装.net 2.0 后运行2.0程序出现 Failed to access IIS metabase 错误的解决
公司使用的FW还是使用.net 1.1的框架,考虑到自己没米买笔记本进行2.0下的开发,也趁着公司电脑的内存是1G ,不用则废,于是安装了一个 Vmware Workstation;没有系统安装光盘,便down了一个xp的光盘iso.不想这个iso不带IIS 的安装组件。郁闷了好久。
没法子,下一个操作的ISO也挺辛苦的,便改下了一个IIS5 的压缩包。
开始时,添加/删除windows 组件向导里都没有" Internet 信息服务 "这个选择项。按照网上高人的例子,把这个选项给揪了出来。
方法是:进入C:\WINDOWS\INF\SYSOC.INF ,用记事本打开,在[COMPONENTS]下
找到此行:iis=iis.dll,OcEntry,iis.inf,hide,7 改为 iis=iis.dll,OcEntry,iis.inf,,7 .
如果没有这行,直接加上即可 ,保存。重新打开添加/删除windows 组件向导便会有这个选项。
然后同正常的光盘安装IIS一样,选择IIS5压缩包的释放路径,进行安装。安装期间,系统可能会提示缺少一些dl_文件,可以使用系统的搜索功能搜索文件名,注意不要带后缀搜索。 像 .dl_ .in_ 都是一些windows的压缩文件,安装向导可以自动从中提取。
经过漫长的安装,终于OK了。满以为大事已成,谁知随便运行一个asp程序都不能运行。系统提示 The requested resource is in use
折腾了无从下手, 后来想到调试程序有调试日志,按这样的话,系统解析asp引擎出错应该在系统日志里也能够找到解决的线索。遂 运行 eventvwr ,调出时间查看器。果然,在 系统 分类下,找到了很多 错误。错误消息如下:
{A9E69610-B80D-11D0-B9B9-00A0C922E750}
)的 本地 激活 权限授予用户 IBM-D882681D063\IWAM_ZHANGYUXIANG SID
(S-1-5-21-1304240173-3011969147-3728014682-1013)。可以使用组件服务管理工具修改此安全权限
按照别人的提示,我打开 控制面板>管理工具>组件服务>计算机>我的电脑>DCOM选项 ,找到 IIS ADMIN SERVICE 这个组件,右键点属性,在 安全>启动和激活权限 中选择 自定义。查看了下自定义 选项是否有 IWAM_ZHANGYUXIANG 这个帐户。我看的是存在这个帐户,然后保存修改。 打开IE,重新运行了该程序,发现OK。 解决!
后来我在此基础上安装了.net 2.0 framework ,运行2.0 asp.net程序时,同样出现这样的问题
{A9E69610-B80D-11D0-B9B9-00A0C922E750}
)的 本地 激活 权限授予用户 ZHANGYUXIANG\ASPNET SID (S-1-5-21-1417001333-764733703-839522115-1003)。可以使用组件服务管理工具修改此安全权限。
同样是设置 IIS ADMIN SERVICE 的属性,只是这次是没有 aspnet 这个帐户存在 这个组件的属性中,轻轻松松添加保存,问题便迎刃而解 。
附:在window xp home 版中安装iis,如果碰到此类问题,亦可以用这种方法解决。
特别是分析下事件查看器的日志,对处理问题是有很大帮助的