HttpWebRequest 如何缓存响应?为什么回收应用程序池不起作用?

How does HttpWebRequest cache responses? And why recycling app pool did not work?

HttpWebRequest缓存的工作原理是什么?

我尝试在托管我的 Web 应用程序的 IIS 上回收应用程序池,但我仍然收到缓存的响应。

所以缓存条目没有存储在内存中?它究竟是如何工作的?

缓存存储在磁盘上。

HttpWebRequest 使用 WinINet 缓存,它是 Internet Explorer 的底层缓存机制。文件存储在 Temporary Internet Files 文件夹中,该文件夹与 IE 存储临时内容的位置相同。 因此,如果您删除临时 Internet 文件,缓存将被清除。

来自 another 来自 Whosebug 的回答

HttpWebRequest uses System.Net.Cache.RequestCache for caching. This is an abstract class; the actual implementation in the Microsoft CLR is Microsoft.Win32.WinInetCache which, as the name implies, uses the WinInet functions for caching.

又一篇好文here