清除NSURLSession缓存

3
我正在使用NSURLSession执行HTTP Post NSMutableURLRequest,使用dataTaskWithRequest:completionHandler:方法。第一次执行请求时,完成任务需要合理的时间,并在完成处理程序中显示一些反馈。当再次发送同一请求时,它几乎瞬间完成且之间的时间很短,这使我相信系统正在缓存此数据任务的内容。
由于我不需要查看返回的数据,所以NSURLSession是否是最好的选择?它需要与WatchKit良好配合,而NSURLSession可以做到这一点,这就是我选择它的原因。如果可能的话,我希望找到一种方法来清除每个请求后的缓存。如果必要,我可以切换到NSURLConnection,但最好不要这样做。谢谢!
1个回答

3

Ephemeral模式不会使用任何缓存。

NSURLSessionConfiguration *ephemeralConfigObject = [NSURLSessionConfiguration ephemeralSessionConfiguration];

感谢您的帮助。我有一个快速问题:[session finishTasksAndInvalidate]; 这一步骤是否必要,还是会自动发生?通过测试ephemeralSession,看起来缓存会双向清除,但您觉得呢? - Alex Wulff
@ConiferApps 年份,它将自动发生。如果您想立即取消任务,请调用invalidateAndCancel。 - Lumialxk
如果我只是为了冗余而这样做,会有什么影响吗? - Alex Wulff
@ConiferApps 的 finishTasksAndInvalidate 方法会等待最后一个任务完成。 - Lumialxk
好的,感谢您的帮助!我将把您的答案标记为正确的。 - Alex Wulff
我不确定这个答案对于问题是否正确,短暂的会话并没有没有缓存,只是缓存没有写入磁盘而是在RAM中保留。 - Leon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接