2012-02-14 50 views
3

我正在使用NSRULConnection在我的iphone應用程序上發出http請求。所有的作品都很好。可以使用NSURLConnection執行不同的請求來保持會話活動?

問題是登錄後我需要保持相同的會話從服務器獲取數據。

我讀了幾篇文章,說我需要的是使用相同的NSURLConnection實例,它會使用相同的會話...如果這是真的,那對我沒有意義,導致NSURLConnection不可變並且由於我必須訪問不同的頁面,所以沒有辦法更改請求。

反正有沒有簡單的方法來保持會話使用NSURLConnection。

+0

這裏「會話」是什麼意思? – 2012-05-20 12:47:49

+0

我認爲這裏的「會話」被稱爲TCP會話。 BTw,你找到答案了嗎? – jAckOdE 2013-01-18 04:03:23

回答

0

如果您使用cookie管理會話,則無需執行任何特殊操作即可實現會話管理。 The URL loading system會自動發送適用於NSURLRequest的任何存儲的Cookie。除非請求指定不發送cookie。所以,你的會話應該爲你自動管理。但是,正如蘋果公司的文檔所述,如果有人已經設置cookie驗收策略拒絕所有cookie或僅選擇性接受cookie,那麼您可能正在修復(您也可以自行更改cookie驗收策略)。在這種情況下,您可能會訴諸基於URL的會話管理;在其中將一個會話標識符附加到URL作爲參數(您可以將此標識符作爲成功的登錄響應的一部分),它可以在服務器端提取。然而,這被認爲是非常糟糕的做法。

我經常遇到的另一種方法是將會話標識符作爲成功登錄的響應的一部分,並將該標識符作爲參數包含在所有後續請求中。儘管這需要服務器處理會話的方式發生重大變化。