【问题标题】:Does RestSharp have cacheRestSharp 有缓存吗
【发布时间】:2016-04-18 10:49:18
【问题描述】:

我有一个简单的问题,我找不到直接的答案:

是否发出了 RestSharp 缓存请求?如果是这样,缓存会持续多长时间,我该如何更改?如果没有,如何将缓存添加到 RestSharp?

我在部署到 Azure Web 应用程序的 Asp.net MVC 应用程序中使用它。

感谢您的帮助。

【问题讨论】:

  • 是什么让你认为它是这样的?
  • @GeorgeStocker 显然是在幕后工作,基于 codeCaster 的回答
  • 我想请您展示一个缓存请求的示例,该请求是您没想到的,但实际上是。现在这一切都取决于你的应用程序是如何设置的。
  • 不幸的是,由于我对此缺乏了解,我不知道如何查看请求是否正在使用缓存。我问这个是因为我想增加缓存的持续时间。从我搜索的内容来看,我没有找到缓存的持续时间,也没有找到如何更改它。

标签: c# asp.net-mvc restsharp


【解决方案1】:

RestSharp 自身不缓存,但它使用的框架类在后台通过 WinInet 进行缓存。

您可以通过条件请求绕过此缓存,或者向查询字符串添加缓存破坏器。

这一切都受到缓存策略的影响,请参阅MSDN: Cache Policy

另请参阅How to clear the cache of HttpWebRequestWP7 - Prevent RestSharp from cachingRefreshing in RestSharp for Windows Phone 等。

【讨论】:

  • 事实上我想增加缓存持续时间。
  • 然后查看 WinInet 文档和抽象此功能的 Cache Policy documentation
  • 我一直在研究 HttpRequestCachePolicy,但restsharp 不允许您设置缓存策略。我有 nuget 版本 105.1.0
【解决方案2】:

https://github.com/restsharp/RestSharp/issues/401

var client = new RestClient("http://example.com");
client.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.Revalidate);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    • 2010-11-28
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多