2013-01-07 75 views
0

我有一個Web應用程序(由ASP.NET,VB.NET和JavaScript編寫)在登錄時存儲Cookie「session_key」。認證通過後,該應用程序然後跳轉到下一頁。在下一頁中,有一個函數可以獲取和檢查cookie「session_key」,以確保用戶在合理的時間內已經登錄過。這個算法在第一天在不同的瀏覽器以及iPhone/iPad和Android上運行良好。重新訪問頁面時無法檢索Cookie

不幸的是,由於我們的一些用戶已將其iPhone/iPad升級到iOS6,因此該算法根本無法在其設備上運行。用戶可以在第一次完全登錄應用程序,但是在他們註銷並重新登錄後,無法再檢索cookie「session_key」。

我跟蹤了代碼,發現「session_key」存儲在認證完成後的登錄頁面中,但當應用程序跳轉到下一頁時,它就消失了,而且只有「ASP.NET_cookie 「而是在瀏覽器中。

對於Wifi或3G連接,此問題僅發生在iOS6而非iOS5上,因此它不是iOS6上的Wifi bug。

有人可以幫忙嗎?任何進展,將不勝感激。

回答

0

問題已解決!

這是因爲iOS6上的Safari使用參數值緩存函數,所以如果所有參數值都相同,Safari會從內存調用函數。

要解決該問題,需要傳入該函數的時間戳,因此參數值不同,這會導致Safari從服務器再次調用函數,而不是從內存中調用該函數。