using System;
using System.Threading.Tasks;
namespace Util.Applications.Locks {
///
/// 业务锁测试服务
///
public class LockTestService {
///
/// 业务锁
///
private readonly ILock _lock;
///
/// 初始化业务锁测试服务
///
public LockTestService( ILock lLock ) {
_lock = lLock;
}
///
/// 执行
///
public async Task ExecuteAsync( string key, TimeSpan? expiration = null ) {
var result = await _lock.LockAsync( key, expiration );
return result ? "ok" : "fail";
}
///
/// 解锁
///
public async Task UnLockAsync() {
await _lock.UnLockAsync();
}
}
}