private void OnAsyncStateEvent(string channel, string message) { if (RedisUtility.TryParseEventMessage(message, out var action, out var parameter) && parameter.HasValue()) { // parameter is "key" switch (action) { case "cancel": if (TryCancel(parameter, true)) { Logger.Debug($"AsyncState '{parameter}' canceled by request from another node."); } break; case "removects": if (TryRemoveCancelTokenSource(parameter, true, out _)) { Logger.Debug($"AsyncState '{parameter}' removed by request from another node."); } break; } } }