具有缓存策略的AFHTTPSessionManager无法正常工作

时间:2015-08-18 13:26:26

标签: ios afnetworking-2 nsurlrequestcachepolicy

服务器发送缓存标头作为响应。

" Cache-Control":" max-age = 120,public"

首先我使用了AFURTPRequestOperation的NSURLRequestReturnCacheDataElseLoad。

通过在AppDelegate中设置共享缓存并在NSUrlRequest中设置NSURLRequestReturnCacheDataElseLoad。

工作正常。

但是当我尝试通过以下方式设置NSURLRequestReturnCacheDataElseLoad来对AFHTTPSessionManager做同样的事情时,

1. request.session.configuration.requestCachePolicy

2的 request.requestSerializer.cachePolicy

3.Overriding - (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)请求completionHandler:(void(^)(NSURLResponse *,id,NSError *))completionHandler

似乎没有任何效果。

AFNetworking版本 - 2.5.1

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,经过几个小时的搜索,我发现AFHTTPSessionManager使用cookie来缓存请求。

只需删除所有Cookie即可。

NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    for (NSHTTPCookie *cookie in [storage cookies]) {
        [storage deleteCookie:cookie];
    }