/// <summary> /// Acquire the singleton lock. If the lock cannot be acquired within the configured timeout, /// an exception will be thrown. /// </summary> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task AcquireAsync(CancellationToken cancellationToken) { AcquireStartTime = DateTime.UtcNow; _lockHandle = await _singletonManager.LockAsync(_lockId, _functionInstanceId, _attribute, cancellationToken); AcquireEndTime = DateTime.UtcNow; IsHeld = true; }