0

我有一个 Web 服务,它会从大约......让我们说 100000 个用户同时(3 小时内)调用。这些服务使用 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;
}

Web 服务将从 android 手机调用(正如我所说的可能 100000 可能更多可能更少,但现在这并不重要)。是否存在僵局的可能性或出现问题的可能性?

从数据库读取时会发生什么以及更新时会发生什么。正如其中一个答案所说:我只更新每个用户的投票字段。如果这有任何问题,您如何建议我纠正它。

先感谢您 :)

4

1 回答 1

1

这应该没问题。

我这么说的原因是,据我所知,当代表用户调用此方法时,唯一发生的事情是Votat他们在数据库中的行中的投票计数()增加了。只要他们只触及自己的行,而不是任何可能被其他 99999 用户之一触及的行,那么用户之间就没有争用,这应该可以很好地扩展。

于 2013-10-06T15:17:04.353 回答