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

时间:2008-10-09 22:47:48

标签: c# .net asp.net visual-studio-2003

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

  

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

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

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

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

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

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

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

有谁知道导致这种情况的原因以及应该解决的问题?我认为它有多种可能的原因,但我只是好奇是否有人可以解释它。

6 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

当IIS用户没有访问\ Temporary ASP.NET Files目录

的权限时,也会发生这种情况

答案 4 :(得分:0)

将用户“everyone”添加到Temporary ASP.NET Files

文件夹的权限

答案 5 :(得分:0)

我在为IIS_IUSRS运行流程监控和过滤后,在C:\Windows\Temp上向群组Result is ACCESS DENIED授予完全控制权,从而解决了这个问题。

csc.exe正在尝试在C:\Windows\Temp中创建一个文件,并且无权这样做。