最近发现原来用.net 2.0做的一个项目经常出现一些账号无发登陆的问题,细查一下发现原来是无法获取cookie中的用户登陆成功的验证信息造成的,由于在cookie中用保存了一些中文的信息,在cookie生成时,中文变成乱码,扰乱了正常的cookie读取,用URLEncode对中文进行编码以后一切正常了,,真是细节决定成功啊,以后在cookie中保存中文信息时一定要进行编码。
在问题解决之前,一次意外的发现在cookie中的中文乱码在1.1的页面中竟然能正常的显示(在web.config中的配置编码方式都是一致的),能够正常获得用户的验证信息,于是专门做了一个1.1的页面来验证2.0和1.1在读取cookie时的不同
- 在cookie中保存的同一个用户的ASP.NET_SessionId在不同的页面中读取到的信息不同,我想这个是不是跟页面本身有关啊,同一个session在不同页面中的sessionid也不相同,这点还需进行验证
- 在不同的页面,读取cookie的顺序不同
以上是本人的一点理解,如有不对的地方请大家斧正