windows 的http缓存是通过Wininet实现的,包括httpwebrequest/httpclient,使用这两个接口下载时,都可以看到缓存的内容存储在
%userprofile%\AppData\Local\Microsoft\Windows\INetCache目录下。
但是当把程序放到windows RE(windows recovery environment) 或者说windows PE 上时,发现下载功能正常,但是没有缓存。
初步判断是, CreateUrlCacheEntry 接口无法在windows RE(windows recovery environment)工作。因为该接口在windows RE(windows recovery environment)返回 errorcode 12004(ERROR_INTERNET_INTERNAL_ERROR)。
希望哪位熟悉WRE环境或者 CreateUrlCacheEntry 接口的朋友可以分享一下,如何让在windows RE(windows recovery environment)让http 缓存正常工作。
windows http 缓存
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 普通网友 2022-12-21 22:41关注
由于在这些环境中可用的功能和组件集有限,缓存功能可能在 Windows 恢复环境 (WRE) 或 Windows 预安装环境 (Windows PE) 中不可用。
您可以尝试的一种选择是使用文件或数据库实现您自己的缓存机制。您可以将下载的内容存储在文件或数据库中,并在发出新请求之前检查文件或记录是否存在。这样,您可以避免发出不必要的请求并减少网络负载。
您也可以尝试使用外部缓存工具(例如缓存代理服务器)来缓存下载的内容。缓存代理服务器可以存储频繁请求的资源的副本,并从缓存中为客户端提供服务,减少源服务器的负载,提高系统的整体性能。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报