none
Session问题,IE bug? RRS feed

  • 问题

  • 开发+系统环境
    VS2008、SQL2005、2003 Server、IIS6

    近期刚完成一个项目部署完毕后,突然发现用IE登陆再点击别的页面Session就会丢失,但别的非IE核心浏览器正常。
    经过跟踪SessionID正常,Cookie开启(但程序中没有使用),同时3种Session会话模式(InProc、StateServer、SQLServer)下问题依然存在。
    额外补充一下,开发时使用VS2008自带的开发服务器,所有浏览器都正常。


    这个问题困扰好多天了,在此先谢过各位大神了。

    2011年1月16日 1:57

答案

  • 终于找到原因了。程序里使用了ddlevelsmenu的菜单,客户端执行JS脚本:

    try

    {

      ddlevelsmenu.setup('ctl00_ulLeftMenu_', 'sidebar');

    }catch(err)

    {

    }

    后系统就会出问题,注销掉以后问题消失。

    一段和服务器端毫无关系的JS竟然会影响到IE,使得Session失效,真是太奇怪了。

    一会儿再研究一下,是不是因为服务器端控件ID以“_”结尾所导致的连锁反应。

    最终还是感谢版主给予的支持。谢谢。

     

    2011年1月16日 6:47

全部回复

  • 在开发机上用IIS调试下

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年1月16日 2:20
    版主
  • 版主好!

    开发机上调试正常,同时使用开发机上IIS在局域网里使用也正常。

    开发机系统是XP SP2。

    但将VS2008 安装在2003 Server上模拟成开发机时,只有将系统放在默认站点或在默认站点下开设虚拟目录时是正常的,如果新建站点就会出问题。

    2011年1月16日 2:45
  • 你的代码里面的URL不会是写死了/开头吧?

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年1月16日 2:55
    版主
  • 没有写死,但是登陆验证后有个跳转。代码如下:

    // VerifiedPageMaster.WelcomePageFile = "abc.aspx";

    Response.Redirect(VerifiedPageMaster.WelcomePageFile, true);

    跳转后的 abc.aspx 中能够获取 Session,但提交后 Session也会不见。

    2011年1月16日 3:08
  • 用Fiddler看看Cookie发回去没有

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年1月16日 3:59
    版主
  • Cookie没有问题,我现在重新建一个母页面,把程序一部分一部分加进去调试一下。
    2011年1月16日 4:16
  • 终于找到原因了。程序里使用了ddlevelsmenu的菜单,客户端执行JS脚本:

    try

    {

      ddlevelsmenu.setup('ctl00_ulLeftMenu_', 'sidebar');

    }catch(err)

    {

    }

    后系统就会出问题,注销掉以后问题消失。

    一段和服务器端毫无关系的JS竟然会影响到IE,使得Session失效,真是太奇怪了。

    一会儿再研究一下,是不是因为服务器端控件ID以“_”结尾所导致的连锁反应。

    最终还是感谢版主给予的支持。谢谢。

     

    2011年1月16日 6:47