Назначение и использование сервиса блокировок

Сервис блокировок (ICSSoft.STORMNET.Business.LockService) предназначен для удобной реализации механизма блокировок. Например, требуется защитить некоторый объект данных от изменения другими пользователями в то время, как он редактируется каким-либо пользователем.

Для того чтобы выставить блокировку, требуется воспользоваться одним из методов SetLock.

Для проверки блокировки следует пользоваться методом GetLock, либо попытаться повторно выполнить SetLock. Возвращённое непустое значение будет именем пользователя, который заблокировал объект.

Для снятия блокировок необходимо пользоваться методом ClearLock.

Автор автор = new Автор();
LockService ls = new LockService();
ls.SetLock(автор); //Блокирование
string sLockID = ls.SetLock(автор); //Попытка повторного блокирования того же объекта
if (sLockID!=string.Empty)
{
	Console.WriteLine(string.Format("Заблокировано пользователем: {0}", sLockID));
}
ls.ClearLock(автор);//Очистка блокировки
Console.ReadLine();

Сервис блокировок обращается к хранилищу данных через сервис данных, указанный в провайдере сервиса данных (ICSSoft.STORMNET.Business.DataServiceProvider.DataService).

В хранилище для блокировок должен существовать соответствующий источник.

Для реляционного хранения, он определён так:

SQL
CREATE TABLE STORMNETLOCKDATA (
	LockKey char (300) NOT NULL ,
	UserName char (300) NOT NULL 
)