예제 #1
0
        public async Task <long> Add100MessagesToTheQueue()
        {
            var queue = await StateManager.GetOrAddAsync <IReliableQueue <InterServiceMessage> >("loggingQueue");

            for (var i = 0; i <= 1000; i++)
            {
                var msg = new InterServiceMessage()
                {
                    Name = i.ToString()
                };
                using (var tx = StateManager.CreateTransaction())
                {
                    await queue.EnqueueAsync(tx, msg);

                    await tx.CommitAsync();

                    await Task.Delay(5);
                }
            }
            long count;

            using (var tx = StateManager.CreateTransaction())
            {
                count = queue.GetCountAsync(tx).Result;
            }

            return(await Task.FromResult <long>(count));
        }
예제 #2
0
        public async Task <long> InterServiceRqCallAsync(InterServiceMessage msg)
        {
            ServiceEventSource.Current.Message("Starting Inter Service call on Utility", new object[1] {
                msg
            });
            var queue = await StateManager.GetOrAddAsync <IReliableQueue <InterServiceMessage> >("loggingQueue");

            using (var tx = StateManager.CreateTransaction())
            {
                await queue.EnqueueAsync(tx, msg);

                await tx.CommitAsync();
            }
            long count;

            using (var tx = StateManager.CreateTransaction())
            {
                count = queue.GetCountAsync(tx).Result;
            }

            return(await Task.FromResult <long>(count));
        }