跨进程/计算机的SharePoint列表/项锁定方法?

时间:2010-05-11 21:03:04

标签: sharepoint list locking

一般情况下,SharePoint是否有适当的方法来控制竞争条件,因为服务器场中的两个进程甚至两台机器同时在同一个列表或列表项上运行?也就是说,是否有内置的机制或可以通过对象模型制作的机制,用于对各个列表项进行跨进程或跨机器锁定?

我想编写一个计时器作业,在列表上执行一系列操作。此列表由SharePoint UI写入,然后由UI读取。我希望能够确保UI在处于不一致状态时不会写入或读取列表,因为计时器作业处于操作中。有没有办法做到这一点?

另外,我想允许同时运行多个计时器作业实例。这同样需要锁定以确保两个作业不会同时尝试在同一列表/项目上操作。

TIA提供任何帮助!

2 个答案:

答案 0 :(得分:1)

看看如何

  • 标准文档库实现签出/签入
  • 这有效地锁定了与文档相对应的SP项目

然后你可以

  • 开发自定义列表
  • 使用相同的结账/登记方式

希望这有帮助

答案 1 :(得分:0)

我相信(但没有机会测试)内置列表项级别optimistic concurrency control

如果您的应用程序确实需要对锁定进行更多控制(例如在列表级别),那么可能是代码味道您正在推动SharePoint列表太难以及您应该使用RDBMS(例如SQL Server)满ACID properties