代码之家  ›  专栏  ›  技术社区  ›  finnw

ASP.NET Webforms上的Blackberry正在丢失会话ID

  •  2
  • finnw  · 技术社区  · 15 年前

    现有的ASP.NET Webforms应用程序出现问题。这是一个已经成功运行多年的应用程序;我们正在添加一个移动部分,启用Javascript的黑莓给我们带来了麻烦。

    我们打开了SessionState,SessionID存储在Cookie中。Blackberry设备(在5.0和4.6中都进行了测试)要么根本不存储该值,要么删除该值,因为每次回发都会创建一个新会话,而不是加载上一个会话。

    当黑莓设备上禁用javascript时,应用程序可以正常工作,但我们不能要求用户关闭javascript。

    如果我们使用无CookieLess会话,应用程序可以正常工作,但是这样做会以我们还没有准备好的方式影响现有的站点。

    有没有办法确保启用javascript的Blackberry设备在cookie中正确存储sessionId?我们是否应该考虑将值存储在隐藏字段中?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Mike Ohlsen    15 年前

    通过一些快速搜索,听起来BB设备在解析cookies和处理多个cookies时有困难。可能它只发送回一个cookie,而带有会话信息的cookie不会被发送回。

    另外,请尝试对cookie数据进行URL编码,可能是另一个字符导致BB浏览器错误地解析cookie,从而忽略了会话ID。

    link 似乎很有帮助,类似的问题。

    推荐文章