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

时间:2015-05-27 18:38:59

标签: c# asp.net-web-api

我在Asp.net WebAPI中实现了一个使用非常复杂的数据模型的CRUD服务;但是,每个数据模型对象都可以通过Guid类型进行标识。 我想阻止针对给定Guid并发运行的操作。

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

如何实现这种锁定。

1 个答案:

答案 0 :(得分:1)

是否可以使用数据库?

制作一个包含两列的简单表:Id (int)InUse (bit)

您甚至可以将其设为一列,只需Id (int) - 如果表中有ID,则表示正在使用。

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