最近在做一个使用Asp.net MVC技术做服务器端,WPF作客户端的项目,碰到一个问题:用户在所有其它机器上都能正常登录,唯独在一台上死活登录不了。
源代码审查了半天,也没发现哪里出了问题;目标机器上的杀毒软件,IE网络设置也检查了,但始终没有效果。使用Fiddler对网络传输进行分析,发现服务器发过来的Set-Cookie未被客户端保存。
于是趁元旦放假,在目标机器上安装了VS08进行调试,调来调去,HttpWebRequest.CookieContainer.Count愣是保持着0的数值不见变动。但是在相应的HttpWebResponse.Headers里明明有Set-Cookie,见鬼!
一个小时后,再看一眼,忽然瞅到了"Set-Cookie: .ASPXAUTH=****; expires=Sat, 03-Jan-2009 07:52:06 GMT; path=/; HttpOnly",难道是超时了?
一检查时间设置,晕了,日期被设为2009-2-3了,怪不得Cookie没被保存呢,还没出生就和曹操一样过时了。。
把日期改为正确值后,再次运行,一切正常,bingo!