我有一个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错误无关。
有人可以帮忙吗?任何进步都将不胜感激。
答案 0 :(得分:0)
问题已经解决!!
这是因为iOS6上的Safari会使用参数值缓存该函数,因此如果所有参数值相同,Safari会从内存中调用该函数。
要解决此问题,需要时间戳传入函数,因此参数的值不同,导致Safari再次从服务器调用该函数而不是从内存中调用该函数。