【问题标题】:How does HttpWebRequest cache responses? And why recycling app pool did not work?HttpWebRequest 如何缓存响应?为什么回收应用程序池不起作用?
【发布时间】:2016-05-13 16:17:22
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# .net iis httpwebrequest system.net.httpwebrequest


    【解决方案1】:

    缓存存储在磁盘上。

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

    来自another StackOverflow 的回答

    HttpWebRequest 使用 System.Net.Cache.RequestCache 进行缓存。这是 一个抽象类; Microsoft CLR 中的实际实现是 Microsoft.Win32.WinInetCache,顾名思义,使用 用于缓存的 WinInet 函数。

    又一篇好文章here

    【讨论】:

    • 感谢您的回答。非常好的文章,帮助我了解发生了什么。
    猜你喜欢
    • 2011-08-31
    • 2019-10-24
    • 2012-01-04
    • 2010-10-02
    • 2016-09-20
    • 2015-01-07
    • 1970-01-01
    • 2016-02-18
    • 2011-09-20
    相关资源
    最近更新 更多