关于登入状态的保持:由于手机上网方式的特殊性,其Cookie并非保存在手机上,而是在网关(移动或联通的网关服务器)上,一般情况下,网关不会在请求中附上Cookie,导致每次访问请求都会产生一个新的Session(因为Cookie中记录了SessionID),解决方法是将用Url记录SessionID。
通过配置Web.config里的 <sessionState mode="InProc" cookieless="true"></sessionState>
配置完成后,服务器会自动重写Url。
此方法的优点在于不需要Cookie支持,确定就是安全性低,建议在登入时做一个重置Session的操作(session.invalidate()方法)。
另外,所以的跳转链接地址必须使用相对地址,否则可能会导致SessionID丢失。
关于服务器控件:部分ASP.NET的服务器控件在手机的游览器上肯能会出现失灵现象,如:button控件。原因在于手机游览器对于服务器控件在经过编译后自动生成的JS脚本不支持导致,当然,随着手机技术的发展,智能手机Wap与Web之间的差距会越来越小,像IPhone之类的智能手机,访问Web网站毫无压力啊~不过,还是尽量少用服务器控件比较好。