コード例 #1
0
        private void WriteToServiceBus(string file, string path, string transferqueue)
        {
            var lines = File.ReadAllLines("../../Sample Files/" + file);

            var batchId = Guid.NewGuid().ToString();

            var messages = lines.Select(l => new VSCM_ServiceBusMessage {
                Template = "1-Sample", BatchId = batchId, Message = l
            }).ToList();

            Stopwatch sw = new Stopwatch();

            sw.Start();

            var errorMessages = new List <ErrorMessage>();

            using (var writer = new VSCM_ServiceBusWriter())
            {
                errorMessages.AddRange(writer.WriteMessagesToServiceBus(path, transferqueue, messages));
            }

            sw.Stop();

            Console.WriteLine("Error Count: " + errorMessages.Count);

            Console.WriteLine("Total Lines Written: " + messages.Count);
            Console.WriteLine("Elapsed time: " + sw.Elapsed.ToString("mm':'ss'.'fff"));
            Console.WriteLine("Message/sec: " + messages.Count / sw.Elapsed.TotalSeconds);
        }
コード例 #2
0
        private void WriteToServiceBus(string file, string path)
        {
            var lines = File.ReadAllLines("../../../Sample Files/" + file);

            var batchId = Guid.NewGuid().ToString();

            var messages = lines.Select(l => new VSCM_ServiceBusMessage {
                Template = "1-Sample", BatchId = batchId, Message = l
            }).ToList();

            var messagesList = new List <List <VSCM_ServiceBusMessage> >();

            var count        = 0;
            var messageCount = messages.Count;

            while (count < messageCount)
            {
                var skip = count;

                messagesList.Add(messages.Skip(skip).Take(breakdown).ToList());

                count += breakdown;
            }

            var errorMessages = new List <ErrorMessage>();

            var primaryConnectionString   = ConfigurationManager.AppSettings.Get("PrimaryConnectionString");
            var secondaryConnectionString = ConfigurationManager.AppSettings.Get("SecondaryConnectionString");
            var transferQueue             = "sampleprojecttransferqueue";

            var writer = new VSCM_ServiceBusWriter(primaryConnectionString, secondaryConnectionString, path, transferQueue);

            var elapsedTime = TimeSpan.Zero;

            for (var i = 0; i < messagesList.Count; i++)
            {
                var loopSw = new Stopwatch();

                loopSw.Start();

                Console.WriteLine();
                Console.WriteLine("Writing " + (i * breakdown) + " - " + ((i * breakdown) + messagesList[i].Count) + " of " + messageCount);

                errorMessages.AddRange(writer.WriteMessagesToServiceBus(messagesList[i]));

                loopSw.Stop();

                Console.WriteLine("Elapsed time: " + loopSw.Elapsed.ToString("mm':'ss'.'fff"));
                Console.WriteLine("Message/sec: " + messagesList[i].Count / loopSw.Elapsed.TotalSeconds);

                elapsedTime += loopSw.Elapsed;
            }

            Console.WriteLine();
            Console.WriteLine("Error Count: " + errorMessages.Count);
            Console.WriteLine();
            Console.WriteLine("Total Lines Written: " + messages.Count);
            Console.WriteLine("Total Elapsed Time: " + elapsedTime.ToString("mm':'ss'.'fff"));
            Console.WriteLine("Average Message/sec: " + messageCount / elapsedTime.TotalSeconds);
        }