コード例 #1
0
        private MessageStatus ForwardAliasMessage(ApolloQueue queue, IMessage m, CancellationToken?cancelToken)
        {
            var targetAlias = m.GetStringProperty(ApolloConstants.TargetAliasKey);
            var owner       = _storage.GetAliasOwner(targetAlias);

            if (owner == null)
            {
                Communicator.SendToClientsAsync(MessageFactory.CreateNegativeAcknowledgment(m, $"Alias '{targetAlias ?? "<Alias not specified>"}' is not owned or invalid"));
            }
            else
            {
                var forwardedMessage = MessageFactory.CloneMessage(m);
                forwardedMessage.TargetSession = owner;
                Communicator.SendToClientsAsync(forwardedMessage);
            }
            return(MessageStatus.Complete);
        }