ASP.NET无法访问IIS元数据库

use*_*312 17 asp.net iis configuration

如何解决这个问题呢?

我使用的是asp.net 2.0,vs2005和IIS 5.1.

使用Windows XP SP3.

Failed to access IIS metabase.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.Hosting.HostingEnvironmentException: Failed to access IIS metabase.

The process account used to run ASP.NET must have read access to the IIS metabase (e.g. IIS://servername/W3SVC). For information on modifying metabase permissions, please see http://support.microsoft.com/?kbid=267904.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[HostingEnvironmentException: Failed to access IIS metabase.]
   System.Web.Configuration.MetabaseServerConfig.MapPathCaching(String siteID, VirtualPath path) +3591442
   System.Web.Configuration.MetabaseServerConfig.System.Web.Configuration.IConfigMapPath2.MapPath(String siteID, VirtualPath vpath) +9
   System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) +169
   System.Web.CachedPathData.GetConfigPathData(String configPath) +389
   System.Web.CachedPathData.GetConfigPathData(String configPath) +243
   System.Web.CachedPathData.GetApplicationPathData() +68
   System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath, Boolean permitPathsOutsideApp) +3536567
   System.Web.Configuration.RuntimeConfig.GetLKGRuntimeConfig(VirtualPath path) +189
Run Code Online (Sandbox Code Playgroud)

ins*_*ite 26

ASPNET用户的权限未正确设置.

您运行的是哪个版本的ASP.NET?

尝试

Start -> Run 
Type cmd <HIT RETURN>
Type c:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i <HIT RETURN>
Run Code Online (Sandbox Code Playgroud)

或按照建议

aspnet_regiis.exe -ga ASPNET
Run Code Online (Sandbox Code Playgroud)


Chr*_*dis 13

使用-i选项运行asnet_regi可能是不够的,原因可能是缺少对ASPNET帐户的正确IIS Metabase访问权限.

我建议使用-ga选项运行它:

aspnet_regiis.exe -ga ASPNET
Run Code Online (Sandbox Code Playgroud)

作为一般性注释,如果在安装IIS之前安装Visual Studio和/或.Net Framework,则会出现此问题.