内核模式静态内容缓存是 HTTP.SYS 的一部分,配置起来相当简单。调试时,您始终可以使用以下命令检查内核模式缓存的内容:
netsh http show cachestate
但是 IIS 中的用户模式缓存更难调试。似乎根本没有检查的可能。有没有一种简单的方法可以查看 Web 应用程序工作进程内的用户模式缓存中有哪些文件?
在我们的项目中,我们有一个 ISAPI 模块,它在将请求的文件返回给浏览器之前对其进行自省。因此,我们不能在 IIS 中使用标准的静态内容缓存。我们遇到了缓存问题,即 IIS 在短暂的预热期后停止将新项目添加到缓存中。项目被刷新,但似乎没有新文件被缓存。根据 perfmon,缓存中的项目数下降到少数。能够在任何给定时间准确查看缓存中的文件对我们来说非常有价值。