在WinXP Home Edition上安装了Windows Server 2000上的IIS 5.0和ASP.NET框架,运行VS2008的网页出问题,解决方法如下:
(1)首先测试htm网页,没问题。
(2)测试ASP网页,有问题。
编写一个最简单的ASP测试程序,只有一行字的ASP文件(test.asp)放在wwwroot目录:
test.asp文件内容如下
response.write "Test"
在浏览器上打开http://localhost/test.asp,出现问题“The specified module could not be found. ”
(3)打开事件查看器,在“安全性”上发现有“失败审核”的事件,根据事件提示,是IIS的访问权限问题。
(4)打开IIS管理器,右键点击默认Web站点,选择“属性”、“目录安全性”,在“匿名访问和验证控制”框,点击“编辑”。
(5)在“匿名访问”框,点击“编辑”。
(6)不要选择“允许IIS控制密码”,输入有访问权限的用户名和密码。
(7)再测试test.asp,正常运行。
(8)运行aspx文件,出现“访问 IIS 元数据库失败”错误,根据返回的信息看,还是访问权限的问题。
(9)打开事件查看器,在“应用程序”上发现有“ASP.NET”的警告事件:
进程信息:
进程 ID: 2768
进程名: aspnet_wp.exe
帐户名: CHLX/ASPNET
异常信息:
异常类型: HostingEnvironmentException
异常消息: 访问 IIS 元数据库失败。
请求信息:
请求 URL: http://localhost/Default.aspx
请求路径: /Default.aspx
用户主机地址: 127.0.0.1
用户:
是否已经过身份验证: False
身份验证类型:
线程帐户名: CHLX/ASPNET
(10)根据事件提示,是aspnet未能经过身份验证。查看“系统”事件,有错误信息:
应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为
{A9E69610-B80D-11D0-B9B9-00A0C922E750}
)的 本地 激活 权限授予用户 CHLX/ASPNET SID (S-1-5-21-1667135697-4172026469-3570415272-1009)。可以使用组件服务管理工具修改此安全权限。
(11)根据提示,打开“组件服务”(在管理工具),依次打开“组件服务”、“计算机”、“我的电脑”、“DCOM配置”。
(12)右键点击“IIS Admin Service”,选择“属性”。
(13)选择“安全”页,点击“编辑”,把“ASP.NET 计算机帐户”(要添加进来)设置成有“启动和激活权限”、“配置权限”。
(14)修改完配置后,再测试aspx,一切正常,问题解决。
总结:解决Windows的错误,一定要查看事件,找出原因,按照提示逐步解决问题。