Esempio n. 1
0
        private async void RemoveSender_Click(object sender, EventArgs e)
        {
            if (sendersListBox.SelectedItem == null)
            {
                return;
            }
            SenderLinkWrapper wrapper    = (SenderLinkWrapper)sendersListBox.SelectedItem;
            ISenderLink       senderLink = wrapper.SenderLink;

            if (senderLink.Equals(this.senderLink))
            {
                this.senderLink = null;
            }
            await senderLink.CloseAsync();

            senders.Remove(wrapper);
        }
Esempio n. 2
0
        public async Task InterfaceSendReceiveAsync()
        {
            string testName = "BasicSendReceiveAsync";
            int    nMsgs    = 100;

            IConnectionFactory factory    = new ConnectionFactory();
            IConnection        connection = await factory.CreateAsync(this.testTarget.Address);

            ISession    session = connection.CreateSession();
            ISenderLink sender  = session.CreateSender("sender-" + testName, testTarget.Path);

            for (int i = 0; i < nMsgs; ++i)
            {
                Message message = new Message();
                message.Properties = new Properties()
                {
                    MessageId = "msg" + i, GroupId = testName
                };
                message.ApplicationProperties       = new ApplicationProperties();
                message.ApplicationProperties["sn"] = i;
                await sender.SendAsync(message);
            }

            IReceiverLink receiver = session.CreateReceiver("receiver-" + testName, testTarget.Path);

            for (int i = 0; i < nMsgs; ++i)
            {
                Message message = await receiver.ReceiveAsync(Timeout.InfiniteTimeSpan);

                Trace.WriteLine(TraceLevel.Information, "receive: {0}", message.ApplicationProperties["sn"]);
                receiver.Accept(message);
            }

            await sender.CloseAsync();

            await receiver.CloseAsync();

            await session.CloseAsync();

            await connection.CloseAsync();
        }