OperationLockingStrategy - класс

Объект, управляющий блокировками операций.

Definition

Пространство имён: Tessa.Platform.Operations
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public sealed class OperationLockingStrategy : IOperationLockingStrategy
Inheritance
Object    OperationLockingStrategy
Implements
IOperationLockingStrategy

Конструкторы

OperationLockingStrategy Создаёт экземпляр объекта с указанием его зависимостей.

Методы

EqualsDetermines whether the specified object is equal to the current object.
(Унаследован от Object)
ExecuteInLockAsync Асинхронно выполняет действие actionAsync внутри эксклюзивной блокировки. Никакое другое вычисление не сможет быть выполнено, пока выполняется действие. При этом создаётся запись в Redis с ID = OperationTypeID и операция cо случайным ID и указанным описанием OperationDescription.
Возвращает идентификатор операции или null, если блокировку взять не удалось.
При взятии блокировки все операции не обязательно выполняются в одном и том же соединении с базой данных. Использование нескольких соединений может быть полезно для больших таймаутов, чтобы не удерживать одно и то же соединение несколько минут.
Чтобы гарантировать выполнение на одном и том же соединении с БД, вызовите метод внутри блока await using(dbScope.Create()) { ... }.
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Унаследован от Object)
GetHashCodeServes as the default hash function.
(Унаследован от Object)
GetTypeGets the Type of the current instance.
(Унаследован от Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Унаследован от Object)
ReleaseLockAsync Снять блокировку, если она была взята без последующего автоматического сброса.
ToStringReturns a string that represents the current object.
(Унаследован от Object)

Методы расширения

ExecuteInRolesLockAsync Асинхронно выполняет действие actionAsync внутри эксклюзивной блокировки на вычисление состава ролей или замещений. Никакое другое вычисление не сможет быть выполнено, пока выполняется действие. При этом создаётся операция CalculatingRoles с указанным описанием operationDescription. Возвращает признак того, что блокировка была взята и действие было выполнено. Значение false возвращается, если блокировку взять не удалось из-за таймаута при ожидании блокировки. При взятии блокировки все операции не обязательно выполняются в одном и том же соединении с базой данных. Использование нескольких соединений может быть полезно для больших таймаутов, чтобы не удерживать одно и то же соединение несколько минут. Чтобы гарантировать выполнение на одном и том же соединении с БД, вызовите метод внутри блока using(dbScope.Create()) { ... }.
(Определяется RolesExtensions)
Get
(Определяется ComHelper)
Invoke
(Определяется ComHelper)
Set
(Определяется ComHelper)

См. также