using System.Threading;
using Microsoft.AspNetCore.Mvc;
using Util.Applications.Controllers;
using Util.Applications.Filters;
using Util.Applications.Locks;
namespace Util.Tests.Controllers;
///
/// 业务锁控制器
///
public class LockController : WebApiControllerBase {
///
/// 未设置防重复过滤器
///
[HttpGet("nolock")]
public IActionResult GetAsync() {
Thread.Sleep( 3000 );
return Success( "ok" );
}
///
/// 设置防重复过滤器 - 全局锁
///
[HttpGet( "GlobalLock" )]
[Lock(Type = LockType.Global)]
public IActionResult Get2Async() {
Thread.Sleep( 3000 );
return Success( "ok" );
}
///
/// 设置防重复过滤器 - 用户锁
///
[HttpGet( "UserLock" )]
[Lock( Type = LockType.User )]
public IActionResult Get3Async() {
Thread.Sleep( 3000 );
return Success( "ok" );
}
}