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( 100 ); return Success( "ok" ); } /// /// 设置防重复过滤器 - 全局锁 /// [HttpGet( "GlobalLock" )] [AntiDuplicateRequest(Type = LockType.Global)] public IActionResult Get2Async() { Thread.Sleep( 100 ); return Success( "ok" ); } /// /// 设置防重复过滤器 - 用户锁 /// [HttpGet( "UserLock" )] [AntiDuplicateRequest( Type = LockType.User )] public IActionResult Get3Async() { Thread.Sleep( 100 ); return Success( "ok" ); } } }