gpt4 book ai didi

.net - 如何在ASP.NET环境中强制HttpWebRequest使用缓存?

转载 作者:行者123 更新时间:2023-12-02 15:38:49 25 4
gpt4 key购买 nike

在我的 ASP.NET 应用程序中,我使用 HttpWebRequest 来获取我想要缓存的外部资源。考虑以下代码:

var req = WebRequest.Create("http://google.com/");
req.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.CacheIfAvailable);
var resp = req.GetResponse();
Console.WriteLine(resp.IsFromCache);
var answ = (new StreamReader(resp.GetResponseStream())).ReadToEnd();
Console.WriteLine(answ.Length);

HttpWebRequest 使用 IE 缓存,因此当我以普通用户身份运行它时(在小型 cmd 测试应用程序中),数据会缓存到 %userprofile%\Local Settings\Temporary Internet Files 并读取下一个响应来自缓存。

我认为当这样的代码在 ASP.NET 应用程序中运行时,数据将被缓存到 ...\ASPNET\Local Settings\Temporary Internet Files 但事实并非如此,并且从未使用缓存.

我做错了什么?如何在ASP.NET环境中强制HttpWebRequest使用缓存?

最佳答案

您可以在代码中手动使用缓存,如下所示:

 Cache.Insert("request", req, Nothing, DateTime.Now, TimeSpan.FromSeconds(30), TimeSpan.Zero)

您可以像在 web.config 中使用缓存一样使用此方法。

关于.net - 如何在ASP.NET环境中强制HttpWebRequest使用缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2826534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com