Inheritance: IRequestMessage, IResponseMessage
Esempio n. 1
0
        private static void Main()
        {
            using (IMessageQueueFactory messageQueueFactory = new AliyunMessageQueueFactory(new AliyunMessageQueueFactoryOptions
            {
                AccessKey = "xxxxxxxx",
                SecretKey = "xxxxxxxxxx"
            }))
            {
                using (var producer = messageQueueFactory.CreateProducer("ChunSun").Result)
                {
                    producer.Start().Wait();
                    while (true)
                    {
                        Console.WriteLine("请输入消息,输入exit退出...");
                        var content = Console.ReadLine();

                        if (string.Equals(content, "exit", StringComparison.OrdinalIgnoreCase))
                        {
                            break;
                        }

                        var message = new AliyunMessage
                        {
                            Topic = "ChunSun",
                            Body = content
                        };
                        var messageId = producer.Send(message).Result;
                        Console.WriteLine($"发送成功,MessageId:{messageId}");
                    }
                }
            }
        }
Esempio n. 2
0
            public override ons.Action consume(ref Message message)
            {
                var aliyunMessage = new AliyunMessage(message);

                lock (_consumer)
                {
                    var action = _consumer.Funcs.Select(i => i(aliyunMessage)).ToArray().FirstOrDefault(i => i.HasValue);
                    switch (action)
                    {
                    case null:
                    case SubscribeAction.CommitMessage:
                        return(ons.Action.CommitMessage);

                    case SubscribeAction.ReconsumeLater:
                        return(ons.Action.ReconsumeLater);

                    default:
                        throw new NotSupportedException($"不支持的动作类型:{action}。");
                    }
                }
            }
Esempio n. 3
0
            public override ons.Action consume(ref Message message)
            {
                var aliyunMessage = new AliyunMessage(message);

                lock (_consumer)
                {
                    var action = _consumer.Funcs.Select(i => i(aliyunMessage)).ToArray().FirstOrDefault(i => i.HasValue);
                    switch (action)
                    {
                        case null:
                        case SubscribeAction.CommitMessage:
                            return ons.Action.CommitMessage;

                        case SubscribeAction.ReconsumeLater:
                            return ons.Action.ReconsumeLater;

                        default:
                            throw new NotSupportedException($"不支持的动作类型:{action}。");
                    }
                }
            }