在唯一标识符级别上的Web api锁定

本文关键字:Web api 锁定 唯一 标识符 | 更新日期: 2023-09-27 17:50:52

我正在Asp.net WebAPI中实现一个使用相当复杂的数据模型的CRUD服务;但是,每个数据模型对象都可以通过Guid类型来标识。我希望防止给定Guid的操作同时运行。

因此,例如,我可以允许Object{ Guid = 1 }Object{ Guid = 2 }的更新同时运行,但我不能允许{ Guid = 1 }的两个单独更新同时运行。第二种情况可能会发生,因为来自完全不同的客户机的类似请求可能会到达服务器。

在唯一标识符级别上的Web api锁定

是否可以使用数据库?

创建一个简单的表,包含两列:Id (int)InUse (bit)

你甚至可以把它变成一列,只是Id (int) -如果一个Id在表中,它是在使用。

这样,它就不会像内存解决方案那样受到应用程序池回收的影响,并且您可以利用事务。