我有一个WebApi异步控制器方法,它调用另一个异步方法,该方法首先执行null检查以查看记录是否存在,如果没有将其添加到数据库中。问题是,如果我有3个请求同时进入,所有的空检查在不同的线程中同时发生(我假设),我会得到2个重复的条目。例如:
public async void DoSomething()
{
var record = {query that returns record or null}
if (record == null)
{
AddNewRecordToDatabase();
}
}
..。这似乎是一件很常见的事情,也许我遗漏了一些东西,但我如何防止这种情况发生?当然,我必须故意尝试让它创建副本,但这是一个要求,不允许它这样做。
提前谢谢你,
李
https://stackoverflow.com/questions/50610682
复制相似问题