Exemple #1
0
        private void btnSaveSetting_Click(object sender, EventArgs e)
        {
            if (txtMongoDbConnectionString.Text.Length == 0)
            {
                MessageBox.Show("日志数据库的连接字符串不能为空。", this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            if (txtLoginCookieName.Text.Length == 0)
            {
                MessageBox.Show("登录Cookie名称不能为空。", this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            if (txtLoginRequestRaw.Text.Length == 0)
            {
                MessageBox.Show("登录请求文本不能为空。", this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            try {
                // 检验输入的请求文本是否正确
                HttpOption option = HttpOption.FromRawText(txtLoginRequestRaw.Text);
                Uri        uri    = new Uri(option.Url);

                if (option.Data == null)
                {
                    throw new ArgumentException("没有登录操作需要的提交数据。");
                }
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message, this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            RunTimeSettings settings = new RunTimeSettings();

            settings.MongoDbConnectionString = txtMongoDbConnectionString.Text;
            settings.LoginCookieName         = txtLoginCookieName.Text;
            settings.LoginRequestRaw         = txtLoginRequestRaw.Text;

            XmlHelper.XmlSerializeToFile(settings, "RunTimeSettings.config", Encoding.UTF8);

            MessageBox.Show("保存操作成功完成。", this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Information);

            EventHandler <SaveSettingsEventArgs> eventHandler = this.SaveSettingButtonClick;

            if (eventHandler != null)
            {
                SaveSettingsEventArgs args = new SaveSettingsEventArgs {
                    NewSettings = settings
                };
                eventHandler(btnCancelSetting, args);
            }
        }
        private async void btnResenExecute_Click(object sender, EventArgs e)
        {
            if (btnResenExecute.Enabled == false)
            {
                return;
            }

            if (txtRequestRaw.Text.Length == 0)
            {
                MessageBox.Show("HttpRequest Raw Text Is Emtpy!", this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            RunTimeSettings settings = GetRunTimeSettings();

            if (settings.LoginRequestRaw == null ||
                string.IsNullOrEmpty(settings.LoginRequestRaw) ||
                string.IsNullOrEmpty(settings.LoginCookieName))
            {
                MessageBox.Show("请设置登录参数后,才能发送请求。", this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            try {
                RequestHelper helper = new RequestHelper(settings.LoginRequestRaw, settings.LoginCookieName);

                btnResenExecute.Enabled = false;
                List <ResendResult> list = await Task.Run(() => helper.BatchSendRequest(txtRequestRaw.Text, (int)numericUpDownResend.Value));

                ShowSendResult(list);
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message, this.FindForm().Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally {
                btnResenExecute.Enabled = true;
            }
        }
        private void MainForm_Shown(object sender, EventArgs e)
        {
            SetIcon();

            // 加载参数
            _runTimeSettings = RunTimeSettings.LoadSettings();

            logSearchControl1.GetRunTimeSettings = () => _runTimeSettings;
            logSearchControl1.ReSendButtonClick += LogSearchControl1_ReSendButtonClick;

            sendRequestControl1.GetRunTimeSettings = () => _runTimeSettings;


            // 将参数显示到设置界面
            settingsControl1.ShowSettings(_runTimeSettings);
            settingsControl1.CancelSettingButtonClick += SettingsControl1_CancelSettingButtonClick;
            settingsControl1.SaveSettingButtonClick   += SettingsControl1_SaveSettingButtonClick;

            foreach (var page in tabControl1.Controls)
            {
                ((page as TabPage).Controls[0] as BaseUserControl).OnFormLoad();
            }
        }
Exemple #4
0
 internal void ShowSettings(RunTimeSettings settings)
 {
     txtMongoDbConnectionString.Text = settings.MongoDbConnectionString;
     txtLoginCookieName.Text         = settings.LoginCookieName;
     txtLoginRequestRaw.Text         = settings.LoginRequestRaw?.Value.Replace("\n", "\r\n");
 }
 private void SettingsControl1_SaveSettingButtonClick(object sender, SaveSettingsEventArgs e)
 {
     _runTimeSettings = e.NewSettings;
 }