应用场景:在MIS系统中,为了给用户提供消息预警功能,如任务达到通知,因此把任务列表做成Web slice,,并用IE8订阅该Web slice,当新的任务出现后,会及时的在IE8的收藏夹工具条上通知用户。用户可以通过IE8收藏夹工具条中Web slice的预览窗口(update page)查看到自己最新的任务。

问题描述:在Windows XP和Windows Server 2003中,在收藏夹工具条中刷新Web slice,不能够找到Session和Cookie,而在Windows Vista中,则能够找到Session和Cookie的值。

因此做了一个最简单Demo(见附件),在一个页面中设置Session和cookie,在另外一个页面中建立一个Web slice,并且在该web slice中读取Session和Cookie的值。

把该Demo分别部署在Windows Server 2003+IIS6,和Windows Vista+IIS7的环境下,然后通过Windows XP、Windows Server 2003和Windows Vista等不同的操作系统去访问Demo,目前发现有以下问题。
1、能否取得Session和Cookie的值,与IIS服务器无关,只与IE8所在的客户端操作系统有关
2、在Windows XP和Windows Server 2003中,用IE去访问部署好的Demo,则找不到Session和Cookie,而在Windows Vista中,用IE去访问Demo,则能够获取正确的Session和Cookie

通过VS.NET 2008 IDE去调试,监视Session对象,发现有以下情况:
1、在Windows XP和WIndows Server 2003中,每次刷新Web Slice时,会产生一个新的Session出来,产生一个新的SessionID
2、在Windows Vista中,刷新Web Slice,直接获取到当前的Session,因此能够找到Session的值

最后通过各种渠道反馈到微软IE8的开发组那边,才被告知这是目前Beta2中存在的Bug,需要等今后正式版本出来后,才可能被修正。

如果大家要用IE8去体验它的新功能,请同时也用上微软的最新操作系统,这样效果好些,毕竟微软对新的操作系统支持的要多些。

posted on 2009-01-20 10:53  月华  阅读(2415)  评论(0编辑  收藏  举报