private void btn_startExchangeGeneration_Click(object sender, EventArgs e)
        {
            if (!ExchangeGenWrapper.DoNotShowExchangePrerequisites)
            {
                var prerequisitesForm = new ExchangePrerequisites();
                prerequisitesForm.Show();
            }


            var messageSize = _mailSizeDictionary.FirstOrDefault(x => x.Value == cb_MailSize.SelectedItem.ToString()).Key;

            // Start Exchange Generation for selected servers with specific parameters

            if (cb_ExchangeUseCustomCreds.Checked)
            {
                ExchangeGenWrapper.StartExchangeGenerator(lv_ExchangeServers, ServerWrapper.ExchangeServersList, messageSize, tb_exchangeCustomUsername.Text, tb_exchangeCustomDomain.Text, tb_exchangeCustomPassword.Text);
            }
            else
            {
                ExchangeGenWrapper.StartExchangeGenerator(lv_ExchangeServers, ServerWrapper.ExchangeServersList, messageSize);
            }

            // Update ListView
            ServerWrapper.UpdateExchangeListView(lv_ExchangeServers, lbl_exchangeGenerationRunningValue);

            var exchangeParmsToSerialize = new ExchangeGeneratorParameters()
            {
                MessageSize = messageSize
            };

            exchangeParmsToSerialize.SerizalizeExchangeParamsToFile();
        }
 public ExchangeServer(string ip, string displayname, string repository, string username, string domain, string password)
     : base(ip, displayname, repository, username, password)
 {
     ServerCredentials.Domain = domain;
     if (ExchangeGenParameters == null)
         ExchangeGenParameters = new ExchangeGeneratorParameters();
     ExchangeGenParameters.Recipient = username + '@' + domain;
 }
 public ExchangeServer(string ip, string displayname, string repository, string username, string domain, string password) : base(ip, displayname, repository, username, password)
 {
     ServerCredentials.Domain = domain;
     if (ExchangeGenParameters == null)
     {
         ExchangeGenParameters = new ExchangeGeneratorParameters();
     }
     ExchangeGenParameters.Recipient = username + '@' + domain;
 }
        private static void SendMessages(ExchangeService service, ExchangeGeneratorParameters genParameters, ServerConnectionCredentials serverCreds, Random random1)
        {
            var email = new EmailMessage(service);

            email.ToRecipients.Add(genParameters.Recipient);
            email.Body = new MessageBody(HelperMethods.RandomString((int)genParameters.MessageSize,random1));
            email.Subject = "Exchange Generator (" + genParameters.MessageSize+")";

            var serviceRequestRetryCount = 0;
            var serviceResponseRetryCount = 0;

            while (true)
            {
                try
                {
                    email.Send();
                    break;
                }
                catch (ServiceRequestException e)
                {
                    if (serviceRequestRetryCount < 3)
                    {
                        serviceRequestRetryCount++;
                        Logger.Log("ServiceRequestException has been caught, retry in 15 seconds.", Logger.LogLevel.Warning, serverCreds.Ip);
                        Thread.Sleep(15000);

                    }
                    else
                    {
                        Logger.LogError("Something wrong with exchange server.", serverCreds.Ip, e);
                        throw;
                    }

                }
                catch (ServiceResponseException e)
                {
                    if (serviceResponseRetryCount < 3)
                    {
                        serviceResponseRetryCount++;
                        Logger.Log("ServiceResponseException has been caught, retry in 15 seconds.", Logger.LogLevel.Warning, serverCreds.Ip);
                        Thread.Sleep(15000);
                    }
                    else
                    {
                        Logger.LogError("Something wrong with exchange server.", serverCreds.Ip, e);
                        throw;
                    }
                }
            }
        }
        private static void SendMessages(ExchangeService service, ExchangeGeneratorParameters genParameters, ServerConnectionCredentials serverCreds, Random random1)
        {
            var email = new EmailMessage(service);

            email.ToRecipients.Add(genParameters.Recipient);
            email.Body    = new MessageBody(HelperMethods.RandomString((int)genParameters.MessageSize, random1));
            email.Subject = "Exchange Generator (" + genParameters.MessageSize + ")";

            var serviceRequestRetryCount  = 0;
            var serviceResponseRetryCount = 0;

            while (true)
            {
                try
                {
                    email.Send();
                    break;
                }
                catch (ServiceRequestException e)
                {
                    if (serviceRequestRetryCount < 3)
                    {
                        serviceRequestRetryCount++;
                        Logger.Log("ServiceRequestException has been caught, retry in 15 seconds.", Logger.LogLevel.Warning, serverCreds.Ip);
                        Thread.Sleep(15000);
                    }
                    else
                    {
                        Logger.LogError("Something wrong with exchange server.", serverCreds.Ip, e);
                        throw;
                    }
                }
                catch (ServiceResponseException e)
                {
                    if (serviceResponseRetryCount < 3)
                    {
                        serviceResponseRetryCount++;
                        Logger.Log("ServiceResponseException has been caught, retry in 15 seconds.", Logger.LogLevel.Warning, serverCreds.Ip);
                        Thread.Sleep(15000);
                    }
                    else
                    {
                        Logger.LogError("Something wrong with exchange server.", serverCreds.Ip, e);
                        throw;
                    }
                }
            }
        }
        public static void StartGenerator(ServerConnectionCredentials serverCredentials, ExchangeGeneratorParameters genParameters, CancellationToken token)
        {
            ServicePointManager.ServerCertificateValidationCallback = OnValidationCallback;
            var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1)
            {
                Credentials = new WebCredentials(serverCredentials.Username, serverCredentials.Password),
                Url = new Uri("https://" + serverCredentials.Ip + "/EWS/Exchange.asmx"),
                Timeout = 300000
            };

            Logger.Log("Exchange data generation started for server: " + serverCredentials.Ip + " . With mail size: " + genParameters.MessageSize, Logger.LogLevel.Info, serverCredentials.Ip);

            _random = new Random();

            while (true)
            {
                SendMessages(service, genParameters, serverCredentials, _random);
                if (token.IsCancellationRequested)
                    break;
            }
        }
        private void GetGenParamsFromFileToGui()
        {
            var ddtParams = DdtParameters.DeserializeDdtParamsFromFile();

            if (ddtParams != null)
            {
                tb_Size.Text        = ddtParams.Filesize.ToString();
                tb_Compression.Text = ddtParams.Compression.ToString();
                tb_Path.Text        = ddtParams.Filepath;
                tb_Interval.Text    = ddtParams.Interval.ToString();
            }

            var exchangeParams = ExchangeGeneratorParameters.DeserializeExchangeParamsFromFile();

            if (exchangeParams != null)
            {
                var i = 0;
                foreach (var item in cb_MailSize.Items)
                {
                    if ((item.ToString()).Contains(_mailSizeDictionary[exchangeParams.MessageSize]))
                    {
                        cb_MailSize.SelectedIndex = i;
                    }
                    i++;
                }
            }

            var sqlParams = SqlGeneratorParameters.DeserializeSqlParamsFromFile();

            if (sqlParams == null)
            {
                return;
            }
            tb_dbName.Text        = sqlParams.DbName;
            tb_SQLAmountRows.Text = sqlParams.RowsToInsert.ToString();
        }
        public static void StartGenerator(ServerConnectionCredentials serverCredentials, ExchangeGeneratorParameters genParameters, CancellationToken token)
        {
            ServicePointManager.ServerCertificateValidationCallback = OnValidationCallback;
            var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1)
            {
                Credentials = new WebCredentials(serverCredentials.Username, serverCredentials.Password),
                Url         = new Uri("https://" + serverCredentials.Ip + "/EWS/Exchange.asmx"),
                Timeout     = 300000
            };

            Logger.Log("Exchange data generation started for server: " + serverCredentials.Ip + " . With mail size: " + genParameters.MessageSize, Logger.LogLevel.Info, serverCredentials.Ip);

            _random = new Random();

            while (true)
            {
                SendMessages(service, genParameters, serverCredentials, _random);
                if (token.IsCancellationRequested)
                {
                    break;
                }
            }
        }
Exemple #9
0
        private void btn_startExchangeGeneration_Click(object sender, EventArgs e)
        {
            if (!ExchangeGenWrapper.DoNotShowExchangePrerequisites)
            {
                var prerequisitesForm = new ExchangePrerequisites();
                prerequisitesForm.Show();
            }

            var messageSize = _mailSizeDictionary.FirstOrDefault(x => x.Value == cb_MailSize.SelectedItem.ToString()).Key;

            // Start Exchange Generation for selected servers with specific parameters

            if (cb_ExchangeUseCustomCreds.Checked)
            {
                ExchangeGenWrapper.StartExchangeGenerator(lv_ExchangeServers, ServerWrapper.ExchangeServersList, messageSize, tb_exchangeCustomUsername.Text, tb_exchangeCustomDomain.Text, tb_exchangeCustomPassword.Text);
            }
            else
            {
                ExchangeGenWrapper.StartExchangeGenerator(lv_ExchangeServers, ServerWrapper.ExchangeServersList, messageSize);
            }

            // Update ListView
            ServerWrapper.UpdateExchangeListView(lv_ExchangeServers, lbl_exchangeGenerationRunningValue);

            var exchangeParmsToSerialize = new ExchangeGeneratorParameters() {MessageSize = messageSize};
            exchangeParmsToSerialize.SerizalizeExchangeParamsToFile();
        }