使用AFNet斷點(diǎn)續(xù)傳突然中斷后無法正潮竿迹恢復(fù)的問題處理

之前做項(xiàng)目遇到這么一個問題:網(wǎng)絡(luò)正常的情況下灿巧,如果服務(wù)器宕機(jī)或者數(shù)據(jù)庫出錯,會造成訪問服務(wù)器報(bào)錯的情況揽涮,一般報(bào)錯的內(nèi)容是:無法連接到服務(wù)器或者其它錯誤抠藕。且服務(wù)器修復(fù)后,仍然報(bào)錯绞吁。經(jīng)過排查幢痘,終于找出了原因所在:AFNetworking會將Url的Response緩存,方便離線瀏覽家破。而且這是默認(rèn) 存在的
- (void)setCacheResponseBlock:(NSCachedURLResponse * (^)(NSURLConnection *connection, NSCachedURLResponse *cachedResponse))block {
self.cacheResponse = block;}

我們來看AFNetworking的方法說明:
@param block A block object to be executed to determine what response a connection will cache, if any. The block returns an NSCachedURLResponse object, the cached response to store in memory or nil to prevent the response from being cached, and takes two arguments: the URL connection object, and the cached response provided for the request.颜说,問題就出在這,一旦Response被緩存后汰聋,下次不再重復(fù)發(fā)起連接门粪,將直接將同樣地Response返回,也就是說:網(wǎng)絡(luò)正常的情況下烹困,服務(wù)器出錯玄妈, 一旦服務(wù)器出錯的Response被緩存,就算服務(wù)器緊急修復(fù)后髓梅,也有可能造成移動客戶端持續(xù)報(bào)錯拟蜻。這種情況很難發(fā)現(xiàn)。
我們再來看蘋果是
1枯饿、An NSCachedURLResponse object encapsulates an NSURLResponse object, an NSData object containing the content corresponding to the response, and an NSDictionary containing application specific information.The NSURLCache system stores and retrieves instances of NSCachedURLResponse.這句話簡單介紹了一下NSCachedURLResponse的構(gòu)成酝锅,以及被NSURLCache來存儲和讀取。最重要的在下面:
2奢方、我們來看下系統(tǒng)提供的URLCache緩存策略:
NSURLCacheStoragePolicyThese constants specify the caching strategy used by an NSCachedURLResponse object.typedef enum{ NSURLCacheStorageAllowed, NSURLCacheStorageAllowedInMemoryOnly, NSURLCacheStorageNotAllowed,} NSURLCacheStoragePolicy;
我們依次來解讀:
NSURLCacheStorageAllowed:Specifies that storage in NSURLCache is allowed without restriction.
NSURLCacheStorageAllowedInMemoryOnly:
Specifies that storage in NSURLCache is allowed; however storage should be restricted to memory only.
這個不用過多解釋搔扁,緩存在內(nèi)存:
NSURLCacheStorageNotAllowed
Specifies that storage in NSURLCache is not allowed in any fashion, either in memory or on disk.

不允許任何協(xié)議的緩存,即不允許緩存蟋字。
解決方案:
幸運(yùn)的是稿蹲,AFNetworking利用的系統(tǒng)自有類存儲,我們可以修改其源代碼:
[[NSURLCache sharedURLCache] removeAllCachedResponses];
這一句代碼是清除所有的URL緩存Response鹊奖。這樣一來苛聘,就可以解決這一問題所在。
PS:我覺得可以根據(jù)業(yè)務(wù)修改代碼邏輯,做到報(bào)錯的響應(yīng)不緩存设哗,這樣才比較合理璧尸。單純清空全部緩存或者不啟用緩存的話就失去緩存的意義了。
ref:http://blog.csdn.net/wojiaoliuli521/article/details/19831077

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末熬拒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子垫竞,更是在濱河造成了極大的恐慌澎粟,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件欢瞪,死亡現(xiàn)場離奇詭異活烙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)遣鼓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進(jìn)店門啸盏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人骑祟,你說我怎么就攤上這事回懦。” “怎么了次企?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵怯晕,是天一觀的道長。 經(jīng)常有香客問我缸棵,道長舟茶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任堵第,我火速辦了婚禮吧凉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘踏志。我一直安慰自己阀捅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布狰贯。 她就那樣靜靜地躺著也搓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涵紊。 梳的紋絲不亂的頭發(fā)上傍妒,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天,我揣著相機(jī)與錄音摸柄,去河邊找鬼颤练。 笑死,一個胖子當(dāng)著我的面吹牛驱负,可吹牛的內(nèi)容都是我干的嗦玖。 我是一名探鬼主播患雇,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宇挫!你這毒婦竟也來了苛吱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤器瘪,失蹤者是張志新(化名)和其女友劉穎翠储,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體橡疼,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡援所,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了欣除。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片住拭。...
    茶點(diǎn)故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖历帚,靈堂內(nèi)的尸體忽然破棺而出滔岳,到底是詐尸還是另有隱情,我是刑警寧澤抹缕,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布澈蟆,位于F島的核電站,受9級特大地震影響卓研,放射性物質(zhì)發(fā)生泄漏趴俘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一奏赘、第九天 我趴在偏房一處隱蔽的房頂上張望寥闪。 院中可真熱鬧,春花似錦磨淌、人聲如沸疲憋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缚柳。三九已至,卻和暖如春搪锣,著一層夾襖步出監(jiān)牢的瞬間秋忙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工构舟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留灰追,地道東北人。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像弹澎,于是被迫代替她去往敵國和親朴下。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容

  • PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...
    念念不忘的閱讀 13,478評論 5 6
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理苦蒿,服務(wù)發(fā)現(xiàn)殴胧,斷路器,智...
    卡卡羅2017閱讀 134,672評論 18 139
  • 生于:美國印第安納州馬丁斯維爾畢業(yè):巴頓學(xué)院主要執(zhí)教:加利福尼亞大學(xué)洛杉磯分校(UCLA)生于:1910年10月1...
    HikeForWELL閱讀 4,560評論 0 3
  • 半夜起來佩迟,室友都還在熟睡溃肪。 廁所里氣味難聞,像一個小小的發(fā)酵場音五,不過今夜似乎夾雜著一種臭雞蛋和魚干的混合味兒。 水...
    風(fēng)落江皋閱讀 247評論 0 0
  • 北宋文學(xué)家蘇東坡,天資聰穎扼雏,過目成誦坚嗜,出口成章,被譽(yù)為“有李太白之風(fēng)流诗充,勝曹子建之敏捷”苍蔬。但是他曾經(jīng)多次敗在王安石...
    寶木欣閱讀 1,051評論 8 9