在Web应用程序中,出于某种原因我需要SessionID,因此,我将其保存在数据库中。应用程序在启动之前执行两次重定向,我发现它获取了两个SessionID。第二个仍然存在。
为什么会这样?任何的想法?如何防止在DB中保存一条记录。
很抱歉,因为我无法发布代码,它与另一种逻辑复合。
答案 0 :(得分:2)
失去/重新开始会话有数百万个可能的原因。没有你的代码,很难提供建议。
您可以自己尝试的一件事是在global.asax文件中使用Session_End事件,只要您使用的是inProc会话即可。将一些代码放在那里让它在会话结束时告诉你,这样你就可以追踪问题/导致它在你的应用程序中结束的原因。
另一个人认为你可以看一下你的重定向方法。确保你保留会话,如下所示:Response.Redirect(“〜/ default.aspx”,false)。
答案 1 :(得分:1)
另一种可能性是你可能没有在第一次会话中加入任何内容。默认情况下,您将在每个回发 上获得一个新的sessionID,除非 您在会话中添加了某些内容。