Safari浏览器中经常出现session无法写入或同一个会话中Session ID常变动的事情。尤其以iOS7版本居多。 问题本身并不难猜,应该就是cookie无法写入引起的。奇怪的是,部分同版本的Safari又是可以写入session的,所以这个问题很让人困惑。 反复查找,最后明白原因是:首先,对于第三方cookie,Safari升级后确实有禁止写入cookie的特性;其次,但是对于已存在cookie的情况,则尽管是第三方cookie依然还会写入。就是因为这些因素存在,所以之前进行测试的一些手机照样可以写入session了。
网上很多方法都不能解决此问题,经研究简单的解决方法是添加如下配置即可,希望给同样遇到此问题的朋友带来帮助。
<sessionState cookieless="AutoDetect" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" stateNetworkTimeout="20" timeout="20"/>