繁体   English   中英

错误消息:“访问路径c:\ windows \ microsoft.net \ framework \(版本)\临时ASP.NET文件\(等等)被拒绝。” - 是什么原因引起的?

[英]Error Message: “Access to the path c:\windows\microsoft.net\framework\(version)\Temporary ASP.NET Files\(blah) is denied.” - what causes this?

我经常在调试时,在ASP.NET错误页面上以漂亮的棕色文本显示此消息:

访问路径“c:\\ windows \\ microsoft.net \\ framework \\(版本)\\ Temporary ASP.NET Files \\(blah)”被拒绝。

我从来没有弄清楚是什么导致它,它真正解决了什么,以及它为什么会发生。

通常“Temporary ASP.NET Files”部分之后的路径(“(blah)”)不存在,所以我不确定它为什么会在那里看。

有时,IISRESET会修复它,有时则不会。

有时aspnet_regiis修复它,有时它不修复它。

有时重新启动会修复它,有时它不会。

对于它的价值我今天遇到了一些.NET 1.1代码(是的,仍然维护一些 - 希望很快升级它),我不确定我是否曾经看过.NET 2.0及更高版本。

有谁知道是什么原因造成的,应该修复什么? 我认为它有多种可能的原因,但我只是好奇是否有人可以解释它。

据我所知,这可能是由于机器上的防病毒运行和间歇性锁定文件造成的。

如果为临时目录打开了Windows索引服务,则可能会发生这种情况。 有关详细信息,请参阅此文 运行文件监视器(在sysinternals.com上可用)并在临时目录上放置一个过滤器。 当您收到访问错误时,请查看导致该问题的应用程序。 它很可能是病毒扫描 - 从扫描中排除此目录并查看问题是否已解决。

默认情况下,ASP.NET应用程序在ASPNET帐户(IIS 5)或NETWORK_SERVICE帐户(IIS 6/7)下运行。 如果您为网站启用了匿名用户,他们也会使用IUSR_MACHINENAME帐户。 为这些帐户提供对您遇到访问问题的临时目录的完全权限。

当IIS用户没有访问\\ Temporary ASP.NET Files目录的权限时,也可能发生这种情况

将用户“everyone”添加到Temporary ASP.NET Files文件夹的权限

我通过在运行进程监视器和过滤Result is ACCESS DENIED之后向C:\\Windows\\Temp上的组IIS_IUSRS授予完全控制权来解决这个问题。

csc.exe试图在C:\\Windows\\Temp创建一个文件,但没有权限这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM