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

C# 即使我停止进程,smtp代码也会执行,c#,email,debugging,C#,Email,Debugging,我正在使用以下代码打开一个文本文件,向列出的人发送电子邮件,并将主题更改为包含他们的ID。我遇到的问题是,第一次通过测试时,我在主题行上停止了调试器。接下来我会收到测试邮件。即使我停止了调试器,代码怎么能继续执行 这是我的密码: protected void btnTest_Click(object sender, EventArgs e) { string sFilePath = @"C:\email\" + ddlYear.SelectedItem.Value + "-" +

我正在使用以下代码打开一个文本文件,向列出的人发送电子邮件,并将主题更改为包含他们的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);
                }                    
            }
        }
    }

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

调试顾名思义就是消除应用程序的错误。它只显示它是如何执行的。停止调试并不意味着停止应用程序。我认为接收测试邮件不是什么大问题。

你怎么知道当你停止调试器时,它还没有通过X个人循环,或者知道该邮件不是来自早期测试?我还强烈建议使用
using
关键字来处理SmtpClient(实现IDisposable)。您的意思是在创建mailClient时使用它吗?mailClient是否有dispose属性?谢谢你的回复。如果你担心的话,你应该把执行行(调试器)移到函数的末尾。如果它被发送到不是他自己的帐户,这可能是一件大事。@pennstatephil测试意味着测试。他不应该包括任何可能与他有关的账户。谢谢你的回复。我现在明白了调试并没有阻止流程的完成,这只是让我可以观察流程。我正在使用我自己的电子邮件帐户列表,以避免实际需要发送的电子邮件出现问题。