ServiceBus

官方文档:https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-how-to-use-topics-subscriptions

 

优化代码

  //var client = SubscriptionClient.CreateFromConnectionString(_connectionString, _topicName, "test2");
            var sbu = new StringBuilder();
            //client.OnMessage(message =>
            //{
            //    sbu.AppendFormat("Message body: {0} \r\n", message.GetBody<string>());
            //    sbu.AppendFormat("Message id: {0}", message.MessageId);
            //});

            //client.OnMessage(message =>  { })

            TaskAwaiter<IEnumerable<BrokeredMessage>> awaiter1;
            //List<string> list1 = new List<string>();
            SubscriptionClient client1 = SubscriptionClient.CreateFromConnectionString(_connectionString, _topicName, "sbuTest");
            awaiter1 = client1.ReceiveBatchAsync(0x3e8, TimeSpan.FromSeconds(5)).GetAwaiter();
            List<BrokeredMessage> list2 = Enumerable.ToList<BrokeredMessage>(awaiter1.GetResult());
            if (list2.Count == 0)
            {
                return;
            }

            List<BrokeredMessage>.Enumerator enumerator1 = list2.GetEnumerator();

            try
            {
                while (enumerator1.MoveNext())
                {
                    BrokeredMessage message1 = enumerator1.Current;
                    string text1 = message1.GetBody<string>();
                    object[] objArray1 = new object[] { _topicName, "sbuTest", DateTime.Now.ToString(), text1 };
                    Trace.TraceInformation(string.Format("Get {0}.{1} from Topic at : {2}, Content : {3}", objArray1));
                    sbu.AppendLine(text1);
                    message1.CompleteAsync();
                }
            }
            finally
            {
                enumerator1.Dispose();
            }

            this.textBox3.Text = sbu.ToString();

  

posted @ 2017-11-07 17:11  临冰听雪丶  阅读(366)  评论(0)    收藏  举报