Способ блокировки списка / элемента SharePoint между процессами / компьютерами? - PullRequest
4 голосов
/ 12 мая 2010

В целом, существует ли в SharePoint достойный способ контроля состояния гонки из-за двух процессов или даже двух машин в ферме, работающих с одним и тем же списком или элементом списка одновременно? То есть существует ли какой-либо механизм, встроенный или который может быть изготовлен через объектную модель для выполнения межпроцессного или межмашинного блокирования отдельных элементов списка?

Я хочу написать задание таймера, которое выполняет кучу манипуляций в списке. Этот список записывается пользовательским интерфейсом SharePoint, а затем читается пользовательским интерфейсом. Я хочу быть в состоянии убедиться, что пользовательский интерфейс не пишет или не читает из списка, когда он находится в несогласованном состоянии, поскольку задание таймера находится в середине манипуляции. Есть ли способ сделать это?

Кроме того, я хочу разрешить одновременное выполнение нескольких экземпляров задания таймера. Это, опять же, потребует блокировки, чтобы убедиться, что эти два задания не пытаются работать с одним и тем же списком / элементом одновременно.

TIA за любую помощь!

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Посмотрите, как

  • стандартная библиотека документов реализует оформление / регистрацию
  • это эффективно блокирует SP - элемент, соответствующий документу

Тогда вы можете

  • разработать пользовательский список
  • с использованием того же подхода к выезду / регистрации

Надеюсь, это поможет

0 голосов
/ 12 мая 2010

Я верю (но не имею возможности проверить), что оптимистичный контроль параллелизма на уровне элемента списка встроен.

Если ваше приложение действительно нуждается в большем контроле над блокировкой (например, на уровне списка), возможно, это запах кода, который вы слишком сильно толкаете в списки SharePoint, и вам следует использовать СУБД (например, SQL Server) с полные КИСЛОТНЫЕ свойства ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...