即使我停止了进程,smtp代码也会执行

本文关键字:代码 smtp 执行 进程 | 更新日期: 2023-09-27 17:58:31

我使用以下代码打开一个文本文件,向列出的人员发送电子邮件,并更改主题以包含他们的id。我遇到的问题是,第一次测试时,我在主题行上停止了调试器。我知道的下一件事是我收到了测试电子邮件。即使我停止了调试器,代码怎么能继续执行?

这是我的代码:

protected void btnTest_Click(object sender, EventArgs e)
{
        string sFilePath = @"C:'email'" + ddlYear.SelectedItem.Value + "-" + ddlMonth.SelectedItem.Value + "_Num.txt";
        using (TextFieldParser parser = new TextFieldParser(sFilePath))
        {
            parser.TextFieldType = FieldType.FixedWidth;
            parser.SetFieldWidths(4, -1);
            int iRowCnt = 1;
            while (!parser.EndOfData)
            {
                string[] sCurrRow = parser.ReadFields();
                try
                {
                    System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage("test@test.com", sCurrRow[1].ToString());
                    message.Subject = txtSubject.Text + " - ID #" + sCurrRow[0].ToString() ;
                    message.IsBodyHtml = Convert.ToBoolean(ddlFormat.SelectedValue);
                    message.Body = txtMsg.Text;
                    System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient();
                    mailClient.Host = "testSMTP.test.com";
                    mailClient.Credentials = new System.Net.NetworkCredential("TestSMTP", "TESTING");  //Username and password changes
                    mailClient.Send(message);
                    this.InsEmailDB(iRowCnt, iRowCnt, sCurrRow[1].ToString());
                    iRowCnt++;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }                    
            }
        }
    }

即使我停止了进程,smtp代码也会执行

停止调试器并不会终止程序,它只是停止"监视"它——程序仍将运行到完成。

顾名思义,调试是为了避免应用程序出错。它只是向你展示它是如何执行的。停止调试并不意味着停止应用程序。我认为收到测试邮件并不是什么大问题。