예제 #1
0
        static async Task ReceiveSessionMessagesAsync()
        {
            Console.WriteLine("===================================================================");
            Console.WriteLine("Accepting sessions in the reverse order of sends for demo purposes");
            Console.WriteLine("===================================================================");

            var configuration = new AzureStorageAttachmentConfiguration(StorageConnectionString, containerName: "ovp");

            sessionClient.RegisterAzureStorageAttachmentPlugin(configuration);

            // AcceptMessageSessionAsync(i.ToString()) as below with session id as parameter will try to get a session with that sessionId.
            // AcceptMessageSessionAsync() without any messages will try to get any available session with messages associated with that session.
            IMessageSession session = await sessionClient.AcceptMessageSessionAsync();

            if (session != null)
            {
                Message message = await session.ReceiveAsync();

                var          stream = new MemoryStream(message.Body);
                StreamReader reader = new StreamReader(stream);
                string       text   = reader.ReadToEnd();

                Console.WriteLine($"message body : {text}");

                await session.CompleteAsync(message.SystemProperties.LockToken);
            }
        }