public sealed class OperationLockingStrategy : IOperationLockingStrategyPublic NotInheritable Class OperationLockingStrategy
Implements IOperationLockingStrategypublic ref class OperationLockingStrategy sealed : IOperationLockingStrategy[<SealedAttribute>]
type OperationLockingStrategy =
class
interface IOperationLockingStrategy
end| OperationLockingStrategy | Создаёт экземпляр объекта с указанием его зависимостей. |
| Equals | Determines whether the specified object is equal to the current object. (Унаследован от Object) |
| ExecuteInLockAsync |
Асинхронно выполняет действие actionAsync внутри эксклюзивной блокировки.
Никакое другое вычисление не сможет быть выполнено, пока выполняется действие.
При этом создаётся запись в Redis с ID = OperationTypeID
и операция cо случайным ID и указанным описанием OperationDescription.
Возвращает идентификатор операции или null, если блокировку взять не удалось. При взятии блокировки все операции не обязательно выполняются в одном и том же соединении с базой данных. Использование нескольких соединений может быть полезно для больших таймаутов, чтобы не удерживать одно и то же соединение несколько минут. Чтобы гарантировать выполнение на одном и том же соединении с БД, вызовите метод внутри блока await using(dbScope.Create()) { ... }. |
| Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Унаследован от Object) |
| GetHashCode | Serves as the default hash function. (Унаследован от Object) |
| GetType | Gets the Type of the current instance. (Унаследован от Object) |
| MemberwiseClone | Creates a shallow copy of the current Object. (Унаследован от Object) |
| ReleaseLockAsync | Снять блокировку, если она была взята без последующего автоматического сброса. |
| ToString | Returns a string that represents the current object. (Унаследован от Object) |
| ExecuteInRolesLockAsync |
Асинхронно выполняет действие actionAsync внутри эксклюзивной блокировки на вычисление состава ролей или замещений.
Никакое другое вычисление не сможет быть выполнено, пока выполняется действие.
При этом создаётся операция CalculatingRoles с указанным описанием operationDescription.
Возвращает признак того, что блокировка была взята и действие было выполнено.
Значение false возвращается, если блокировку взять не удалось из-за таймаута при ожидании блокировки.
При взятии блокировки все операции не обязательно выполняются в одном и том же соединении с базой данных.
Использование нескольких соединений может быть полезно для больших таймаутов,
чтобы не удерживать одно и то же соединение несколько минут.
Чтобы гарантировать выполнение на одном и том же соединении с БД,
вызовите метод внутри блока using(dbScope.Create()) { ... }.
(Определяется RolesExtensions) |
| Get | (Определяется ComHelper) |
| Invoke | (Определяется ComHelper) |
| Set | (Определяется ComHelper) |