在唯一标识符级别上的Web api锁定
本文关键字:Web api 锁定 唯一 标识符 | 更新日期: 2023-09-27 17:50:52
我正在Asp.net WebAPI中实现一个使用相当复杂的数据模型的CRUD服务;但是,每个数据模型对象都可以通过Guid
类型来标识。我希望防止给定Guid
的操作同时运行。
因此,例如,我可以允许Object{ Guid = 1 }
和Object{ Guid = 2 }
的更新同时运行,但我不能允许{ Guid = 1 }
的两个单独更新同时运行。第二种情况可能会发生,因为来自完全不同的客户机的类似请求可能会到达服务器。
是否可以使用数据库?
创建一个简单的表,包含两列:Id (int)
和InUse (bit)
。
你甚至可以把它变成一列,只是Id (int)
-如果一个Id在表中,它是在使用。
这样,它就不会像内存解决方案那样受到应用程序池回收的影响,并且您可以利用事务。