Etag在HTTP规范中有很好的定义。更多解释请点击这里http://en.wikipedia.org/wiki/HTTP_ETag
最近我尝试通过ASP.Net Web API使用RestSharp客户端库,但是我在缓存方面遇到了一些问题,我正在从服务器端发送Etag (即“Etag”:“12345”作为响应头)发送到客户端,我可以在RestResponse对象的响应头中看到相同的Etag,到目前为止还不错。
现在,在下一个请求中,使用相同的RestSharp客户端,我希望RestSharp传递“If-None-Match”头(即“If-None-Match”:“12345”作为请求标头),但不幸的是,我找不到一种方法来将RestSharp设置为自动执行。
注意: c#中的WebClient类在原始操作中完成这项工作,但RestSharp不能。
我想要的是,有人确认如何做,或者只是告诉我我是垃圾:P
发布于 2013-03-12 09:22:48
根据我在源代码中看到的内容,您需要在下一个对该资源的请求中自己添加该标头。
发布于 2015-04-18 03:12:54
RestSharp在幕后使用HttpWebRequest。我在初始化客户机的过程中运行了这行代码,并开始自动获取If-None-Match头。
HttpWebRequest.DefaultCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.Default);这将告诉HttpWebRequest使用默认的高速缓存级别(如果没有此行,则高速缓存级别似乎设置为HttpRequestCacheLevel.BypassCache)。
https://stackoverflow.com/questions/15348862
复制相似问题