/// <summary>
 ///     Отправка сообщения
 /// </summary>
 /// <param name="message">Сообщение</param>
 /// <param name="filter">Фильтр клиентов</param>
 public static void PushMessage(CometMessage message, Predicate <CometAsyncState> filter)
 {
     WriteLog($"Start PushMessage -> message: {message.Message}");
     MsgProcessor.AddMessage(message, filter);
     WriteLog("End PushMessage");
 }
        // Возвращаем сообщение каждому подключенному клиенту

        /*
         * public static void PushMessage(CometMessage pushMessage, string clientGuid = "")
         * {
         *  lock (_lock)
         *  {
         *      // Пробегаем по списку всех подключенных клиентов
         *      foreach (var clientState in _clientStateList)
         *      {
         *          if (clientState.CurrentContext.Session != null)
         *          {
         *              if (clientGuid != "" && clientState.ClientGuid != clientGuid) continue;
         *              // И пишем в выходной поток текущее сообщение
         *              clientState.CurrentContext.Response.Write(pushMessage.IsV4Script
         *                  ? pushMessage.Message
         *                  : pushMessage.Serialize());
         *              // После чего завершаем запрос - вот именно после этого результаты
         *              // запроса пойдут ко всем подключенным клиентам
         *              clientState.CompleteRequest();
         *          }
         *      }
         *  }
         * }*/

        /// <summary>
        ///     Отправка сообщения
        /// </summary>
        /// <param name="message">Сообщение</param>
        /// <param name="clientGuid">Идентификатор страницы</param>
        public static void PushMessage(CometMessage message, string clientGuid = "")
        {
            MsgProcessor.AddMessage(message, clientGuid);
        }