我正在使用标准的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;
}
提前致谢
一月