访问 IIS 元数据库失败
Posted 小台的IT备忘录
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了访问 IIS 元数据库失败相关的知识,希望对你有一定的参考价值。
问题:
访问 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
解决ASP.NET 的进程帐户没有访问 IIS的权限
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42
解决方案:
在运行中输入cmd,然后在MSDOS环境下输入:
cd C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727,回车
然后输入aspnet_regiis /r ,回车,问题解决。
=========================================================第二说法
解决ASP.NET 的进程帐户没有访问 IIS的权限
IIS下,访问asp页面出现错误:
访问 IIS 元数据库失败
“用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IISservernameW3SVC)的读访问权。有关如何修改元数据库权限的信息,请参见 httpsupport.microsoft.comkbid=267904。”
原因可能是先安装.NET Framework后安装IIS,导致IIS没有为ASP.NET设置用户。
解决方法:1、运行CWindowsMicrosoft.NETFrameworkversion下的
aspnet_regiis -i
2、或者下载Metaacl.vbs脚本并运行
cscript metaacl.vbs
手工修改权限
Metaacl.vbs文件下载
http://www.cnblogs.com/Files/yinhu/metaacl.rar
我也已经上传此文件
以上是关于访问 IIS 元数据库失败的主要内容,如果未能解决你的问题,请参考以下文章
asp.net程序在本地IIs运行好用,放到服务器上就出运行时错误