Здравствуйте, boot, Вы писали:
B>Речь идет о всем объекте или его части? Типа один клиент редактирует одну страницу книги, а второй читает другую? У клиентов есть свойство которое позволяет забрать право на редактирование или они равноправны?
Блокировка накладывается на весь объект (фактически запись в БД). В большинстве своем клиенты равноправны, но систему "старшинства" планируется ввести. Идеальный алгоритм примерно таков: клиент имеющий более высокий приоритет говорит, что он заберет блокировку объекта на себя, на клиенте с текущей блокировкой отображается немодальное диалоговое окно с атрибутом TopMost, что мол такой-то клиент по истечению например 1 минуты принудительно заберет блокировку на себя. Клиент должен до истечения этого времени освободить объект либо объект будет освобожден принудительно и все изменения в нем будут потеряны. Естественно точного выдерживания таймингов добиться не получится, но это и не суть важно.