我经常调试时,在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及更高版本。
有谁知道导致这种情况的原因以及应该解决的问题?我认为它有多种可能的原因,但我只是好奇是否有人可以解释它。
答案 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
中创建一个文件,并且无权这样做。