public override async Task ExecuteResultAsync(ActionContext context) { try { await _undelyingItem.Lock(); await base.ExecuteResultAsync(context); } finally { _undelyingItem.ReleaseLock(); } }