ASP.NET中“访问 IIS 元数据库失败”的解决方案

来源:互联网 发布:python pdf2htmlex 编辑:程序博客网 时间:2024/05/02 01:50

访问 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) +637   System.Web.Configuration.MetabaseServerConfig.System.Web.Configuration.IConfigMapPath2.MapPath(String siteID, VirtualPath vpath) +9   System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +174   System.Web.Hosting.HostingEnvironment.MapPathInternal(VirtualPath virtualPath, Boolean permitNull) +51   System.Web.CachedPathData.GetConfigPathData(String configPath) +341   System.Web.CachedPathData.GetConfigPathData(String configPath) +234   System.Web.CachedPathData.GetApplicationPathData() +38   System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp) +8809743   System.Web.Configuration.RuntimeConfig.GetLKGRuntimeConfig(VirtualPath path) +117


版本信息: Microsoft .NET Framework 版本:2.0.50727.3615; ASP.NET 版本:2.0.50727.3618

 

流浪的风在

http://www.cnblogs.com/scgw/archive/2007/12/27/1017080.html

里的解释是:

错误分析:
因为本人安装vs2005的时候是先安装vs2005然后再安装iis的,所以在这种情况下用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库的读访问权。然而我安装顺序不对所以就没法访问。

解决办法:

1 开始->程序->Microsoft .NET Framework SDK v2.0->SDK 命令提示

2 输入 aspnet_regiis.exe -i

3 关闭VS2005,打开C:/WINDOWS/Microsoft.NET/work/v2.0.50727/Temporary ASP.NET Files    删除刚才调试的目录

4 重起IIS,问题解决。

赫赫,问题其实很简单,只是安装的顺序不对罢了。这是因为在XP下先安装了Visual Studio2005,再安装IIS,下次要注意了

 

但我按照试了后,问题依旧,无奈之下,连微软提供的

已提供修改 IIS Admin 对象上元数据库权限的 MetaAcl 工具

http://support.microsoft.com/?kbid=267904

 

也试了,还是不行,猛然间想到自己装了.NET Frameword 2.0和.NET Frameword 4.0,是不是这个原因呢?最后在2.0和4.0两个文件夹下分别

 aspnet_regiis.exe -i,问题解决!

 

 

 

 

 

 

原创粉丝点击