256,272c256,258 < MySqlCommand cmd = new MySqlCommand( < "INSERT INTO my_aspnet_sessions" + < " (SessionId, ApplicationId, Created, Expires, LockDate," + < " LockId, Timeout, Locked, SessionItems, Flags)" + < " Values (@SessionId, @ApplicationId, NOW(), NOW() + INTERVAL @Timeout MINUTE, NOW()," + < " @LockId , @Timeout, @Locked, @SessionItems, @Flags)", < conn); < < cmd.Parameters.AddWithValue("@SessionId", id); < cmd.Parameters.AddWithValue("@ApplicationId", ApplicationId); < cmd.Parameters.AddWithValue("@LockId", 0); < cmd.Parameters.AddWithValue("@Timeout", timeout); < cmd.Parameters.AddWithValue("@Locked", 0); < cmd.Parameters.AddWithValue("@SessionItems", null); < cmd.Parameters.AddWithValue("@Flags", 1); < conn.Open(); < cmd.ExecuteNonQuery(); --- > MySqlCommand cmd = GetReplaceCommand(id, conn, null, timeout, 1); > conn.Open(); > cmd.ExecuteNonQuery(); 460,474c446,448 < //Insert the new session item . If there was expired session < //with the same SessionId and Application id, it will be removed < < cmd = new MySqlCommand( < "REPLACE INTO my_aspnet_sessions (SessionId, ApplicationId, Created, Expires," + < " LockDate, LockId, Timeout, Locked, SessionItems, Flags)" + < " Values(@SessionId, @ApplicationId, NOW(), NOW() + INTERVAL @Timeout MINUTE, NOW()," + < " @LockId , @Timeout, @Locked, @SessionItems, @Flags)", conn); < cmd.Parameters.AddWithValue("@SessionId", id); < cmd.Parameters.AddWithValue("@ApplicationId", ApplicationId); < cmd.Parameters.AddWithValue("@Timeout", item.Timeout); < cmd.Parameters.AddWithValue("@LockId", 0); < cmd.Parameters.AddWithValue("@Locked", 0); < cmd.Parameters.AddWithValue("@SessionItems", sessItems); < cmd.Parameters.AddWithValue("@Flags", 0); --- > //Insert the new session item . If there was expired session > //with the same SessionId and Application id, it will be removed > cmd = GetReplaceCommand(id, conn, sessItems, item.Timeout, 0); 894a869,886 > } > > private MySqlCommand GetReplaceCommand(string id, MySqlConnection conn, byte[] sessItems, int timeout, int flags) > { > MySqlCommand cmd = new MySqlCommand( > "REPLACE INTO my_aspnet_sessions (SessionId, ApplicationId, Created, Expires," + > " LockDate, LockId, Timeout, Locked, SessionItems, Flags)" + > " Values(@SessionId, @ApplicationId, NOW(), NOW() + INTERVAL @Timeout MINUTE, NOW()," + > " @LockId , @Timeout, @Locked, @SessionItems, @Flags)", conn); > cmd.Parameters.AddWithValue("@SessionId", id); > cmd.Parameters.AddWithValue("@ApplicationId", ApplicationId); > > cmd.Parameters.AddWithValue("@Timeout", timeout); > cmd.Parameters.AddWithValue("@LockId", 0); > cmd.Parameters.AddWithValue("@Locked", 0); > cmd.Parameters.AddWithValue("@SessionItems", (object)sessItems ?? System.DBNull.Value); > cmd.Parameters.AddWithValue("@Flags", flags); > return cmd;