我正在使用标准的MySql数据库来获取要在我的网站上显示的数据 . 问题是,一旦多个用户尝试同时访问网站/一个用户“垃圾邮件”点击某些请求,我就会收到一个开放的DataReader异常 . 我不知道如何解决这个问题 . 我考虑过缓存结果以便重用,但这并不会使结果保持新的状态,并且不会针对不同类型的请求进行修复 . 如何允许用户同时访问并防止readeraccess与其他sql请求重叠?

使用阅读器的示例方法:

public User GetUserData(uint id)
    {
        DbDataReader reader = this.Select("* FROM " + Table.user + " WHERE id=" + id + " LIMIT 1");

        User user = new User()
        {
            UserId = id,
            Username = reader[UserTable.username].ToString(),
            Firstname = reader[UserTable.firstname].ToString(),
            Lastname = reader[UserTable.lastname].ToString(),
            Email = reader[UserTable.mail].ToString(),
            Birthdate = DateTime.Parse(reader[UserTable.birthday].ToString()),
            Password = reader[UserTable.password].ToString(),

        };

        reader.Close();
        return user;
    }

提前致谢

一月