Nancy.LongPoll.PollService.SendMessage C# (CSharp) Method

SendMessage() public method

public SendMessage ( List clientIds, string messageName, string message ) : void
clientIds List
messageName string
message string
return void
    public void SendMessage(List<string> clientIds, string messageName, string message)
    {
      if (clientIds == null) return;

      try
      {
        lock (_Clients)
        {
          clientIds = clientIds.ToList();
          foreach (var clientId in clientIds)
          {
            if (!_ClientIdToSessId.ContainsKey(clientId)
              || _ClientIdToSessId[clientId].Any(x => !_PollAccessControlService.AllowSendMessage(x, messageName, messageName)))
            {
              continue;
            }

            if (_Clients.ContainsKey(clientId))
            {
              var client = _Clients[clientId];
              if ((DateTime.UtcNow - client.LastSeen).TotalSeconds > CLIENT_TIMEOUT)
              {
                RemoveClientId(client.Id);
                _Clients.Remove(client.Id);
                continue;
              }

              client.SendMessage(new Message()
              {
                success = true,
                retcode = Message.RetCodes.Ok,
                messageName = messageName,
                data = message
              });
            }
          }
        }
      }
      catch (Exception ex)
      {
        _Logger.LogException(ex, "Error sending message '" + messageName + "' to clients. Message: " + message);
      }
    }

Same methods

PollService::SendMessage ( string clientId, string messageName, string message ) : void