0

我有一个 Web 应用程序(由 ASP.NET、VB.NET 和 javascript 编写)在登录时存储 cookie“session_key”。身份验证通过后,应用程序跳转到下一页。在下一页上,有一个函数可以获取和检查 cookie “session_key”,以确保用户之前在合理的时间内登录过。该算法从第一天开始就在不同的浏览器以及 iPhone/iPad 和 Android 上运行良好。

不幸的是,由于我们的一些用户已将他们的 iPhone/iPad 升级到 iOS6,因此该算法根本无法在他们的设备上运行。用户第一次可以完美登录应用程序,但是在他们注销并重新登录后,cookie“session_key”就无法检索了。

查了下代码,发现“session_key”是在认证完成后保存在登录页面的,但是当应用跳转到下一页的时候就没有了,浏览器中只有“ASP.NET_cookie”反而。

这个问题只发生在 iOS6 而不是 iOS5 的 Wifi 或 3G 连接,所以它不是关于 iOS6 上的 Wifi 错误。

有人可以帮忙吗?任何提前将不胜感激。

4

1 回答 1

0

问题已经解决了!!

这是因为 iOS6 上的 Safari 会缓存带有参数值的函数,所以如果所有参数值相同,Safari 会从内存中调用函数。

为了解决这个问题,需要将时间戳传递给函数,因此参数的值不同,导致Safari再次从服务器调用函数而不是从内存中调用函数。

于 2013-01-17T03:18:11.650 回答