访问 IIS 元数据库失败

今天在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) +3500426    System.Web.Configuration.MetabaseServerConfig.System.Web.Configuration.IConfigMapPath.MapPath(String siteID, VirtualPath vpath) +9    System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +163    System.Web.CachedPathData.GetConfigPathData(String configPath) +382    System.Web.CachedPathData.GetConfigPathData(String configPath) +243    System.Web.CachedPathData.GetApplicationPathData() +68    System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp) +3393747    System.Web.Configuration.RuntimeConfig.GetLKGRuntimeConfig(VirtualPath path) +189

 

 后来在谷歌上搜索了一下,才知道可能是因为先安装了VS后安装IIS导致的。

解决办法是:
1、在“开始”---“运行”中输入CMD,点击确定。

2、输入 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

(注意:-i前面要有空格(*^__^*) )
稍等片刻,注册成功就解决问题了。  
接着还会出现“未能创建 Mutex”的问题
解决方法:
1、先关闭你的VS2005。
2、打开 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files   找到你刚才调试的程序的名字的目录删除它。
3、关闭IIS服务器,重开一次。
4、用IE浏览一下你的程序,问题解决。

posted @ 2009-11-13 15:19  Sissynong  阅读(194)  评论(1编辑  收藏  举报