使用MySqlSessionStateStore时,为'PRIMARY'键重复输入'vtfszyfxemkrwu52hjyugphb-1'

时间:2013-08-29 06:22:36

标签: mysql asp.net session session-timeout mysql-connector

我遇到的问题是DavKa在这篇文章MySQL Session state provider crashes on expired sessions中提出的问题。

基本上我使用MySqlSessionStateProvider(来自MySQL的提供程序进行会话管理)来实现会话持久性,它运行正常。它存储会话,存储过程删除过期的会话。当用户处于非活动状态并且会话到期时,我需要重定向到“会话已过期”页面,这允许用户再次登录。

不幸的是,当会话过期而不是重定向到Session Expired页面(我已在MasterPage http://aspalliance.com/1621_Implementing_a_Session_Timeout_Page_in_ASPNET.3中配置)时,它会抛出一个错误,指出已存在所述主键的条目。我假设它试图将相同的会话插入会话存储表而不删除前一个会话。

还有其他人遇到过这个问题并且能够解决这个问题吗?

非常感谢任何帮助。

P.S:这是我的第一篇SO帖子,请原谅任何noob错误。

1 个答案:

答案 0 :(得分:1)

几个月来,这一直是我的痛苦。编码“围绕”问题(即在内存会话中使用)一段时间但现在,在不归路的时候,我自己修复了它。

MySQL Session state provider crashes on expired sessions

从此处下载修复程序,直到MySql将其滚入:

https://github.com/xavierjefferson/mysql-web-fixed