我有一个网络服务,将从约...我们在同一时间(3小时内)说出100000个用户。服务使用Entity Framework 4.1读取和更新SQL数据库。这是代码
[WebMethod]
public bool addVotes(string username,string password,int votes)
{
bool success= false;
if (Membership.ValidateUser(username, password) == true)
{
DbContext context = new DbContext();
AppUsers user = context.AppUsers.Where(x => x.Username.Equals(username)).FirstOrDefault();
if (user != null)
{
user.Votat += votes;
context.SaveChanges();
success = true;
}
}
return success;
}
网络服务将从Android手机上调用(正如我所说,也许100000或许更多可能更少,但现在不重要)。是否存在死锁可能性或出现问题的可能性?
从数据库读取时以及更新时会发生什么。正如其中一个答案所说:我正在更新每个用户的字段投票。如果这有任何问题,您如何建议我纠正它。
提前谢谢你:)
答案 0 :(得分:1)
这应该没问题。
我说的原因是,据我所知,代表用户调用此方法时发生的唯一事情就是数据库中行的计数(Votat
)增加了。只要他们只触摸他们自己的行,而不是99999其他用户之一也可能触及的任何行,那么用户之间就没有争用,这应该可以很好地扩展。