AspNetTempFiles 被过早清除

AspNetTempFiles 被过早清除

感谢您关注此帖。

我们正在尝试使用 aspnet_compiler.exe 对在 iis 8.5 上运行的 .Net webapp 执行就地预编译。

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe -m /LM/W3SVC/1/ROOT -errorstack

它正在将文件生成到我们网站的临时文件夹中。不幸的是,我们看到这些文件几乎在创建后就消失了。我以为这可能是由应用程序池回收引起的,但我们将其设置为每天发生一次。这是我们 web.config 中的编译元素。

 <compilation debug="false" defaultLanguage="c#" targetFramework="4.6.1" numRecompilesBeforeAppRestart="5000" batch="true" optimizeCompilations="true" tempDirectory="C:\AspNetTempFiles">

如果我的理解正确,当我们预编译我们的应用程序时,临时文件夹应该会填满文件,然后这些文件会保留在那里,以帮助提高首次页面加载时的性能。这些文件消失得如此之快,以至于它们甚至在预编译阶段就被删除了,而且第一次页面点击总是需要很长时间才能加载(这就是我们开始研究预编译的原因!)

我们在本地计算机上预编译了网站的副本,发现临时 AspNetTempFiles 文件夹已满,其中有大约 10k 个可用文件。但是,只要我们打开一个页面,文件夹中就会删除大量文件。

有没有想过为什么这些文件在应用程序池重新启动之前会被清除?或者是否有原因导致强制回收的速度比正常情况更快?

再次感谢!

相关内容