蓝派网(www.lan27.com)-精选网络资源,分享和交流! 文章首页站内搜索在线手册广告代码酷站欣赏万年历
您现在的位置: 蓝派网 >> 文章中心 >> 网络编程 >> .NET >> ASP.NET >> 正文

配置ASP.NET平台时遇到的“访问IIS元数据库失败”

作者:佚名    文章来源:网络    更新时间:2010-6-8 8:35:09
课题是关于搭建一个基于ASP.NET网站框架的,当然配置开发平台是第一步,装上IIS后,在本地访问.aspx页面时总出现如下报错信息:

访问 IIS 元数据库失败。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败。 

用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权。有关如何修改元数据库权限的信息,请参见 http://support.microsoft.com/?kbid=267904。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪: 
[HostingEnvironmentException: 访问 IIS 元数据库失败。]
   System.Web.Configuration.MetabaseServerConfig.MapPathCaching(String siteID, VirtualPath path) +690    System.Web.Configuration.MetabaseServerConfig.System.Web.Configuration.IConfigMapPath.MapPath(String siteID, VirtualPath vpath) +9
   System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +174
   System.Web.CachedPathData.GetConfigPathData(String configPath) +398
   System.Web.CachedPathData.GetConfigPathData(String configPath) +263
   System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp) +166
   System.Web.Configuration.RuntimeConfig.GetLKGRuntimeConfig(VirtualPath path) +187
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42

 

大意就是没有服务器上当前IIS进程没有访问元数据库的权限……我就纳闷儿了,.NET Framework2.0也装了呀,应该可以支持.net了呀?于是Google一下,发现有这种问题的还不止我一个,看了下,原因就是IIS和.net Framework2.0安装顺序反了,因为我先前曾经装过VisualStudio2005,所以系统里先安装了.net Framework2.0,而这样后来装过IIS后,.net Framework未注册相关组件,不能对IIS做出修改,就会出现这种情况!

 

解决方法:

到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727中找,有个工具叫 aspnet_regiis.exe,运行方法如下:
1.开始-->运行-->输入cmd,运行
2.DOS窗口打开以后,在DOS窗口内进入上面的文件夹
3.输入 aspnet_regiis.exe -i -enable

 可以直接在VS2005的命令提示中输入aspnet_regiis.exe -i

经测试,一切OK!

 

ps:特别要注意安装顺序,先装IIS,然后装.net框架  :)


发表评论】【打印此文】【关闭窗口】【点击数:
★好玩的休闲小游戏★