我有一个方法可以检查数据库中是否存在某个记录(带有一些id)。如果是,则会更新,如果没有,则会更新。从ASP.NET Web API调用此方法,因此可以有许多并发调用。
现在我在方法的开头使用了经典的.NET锁。它工作但性能非常差(如预期的那样,锁定整个方法)。大多数请求都没有冲突,使用不同的记录。
有没有更好的方法来更好地利用我使用的Linq to SQL?
答案 0 :(得分:0)
如何在MSMQ中记录请求,并拥有一个添加/更新数据库的处理程序。不需要锁定,也不会减慢Web API的速度。