一般对于像发送邮件记录日志等这种任务我们都是使用异步方式来完成的,或者单独开一个线程来完成相应的任务:例如发送邮件我们可以执行如下代码完成:
public static void SendMailMessage(MailMessage message)
{
if (message == null)
throw new ArgumentNullException("message");
try
{
message.IsBodyHtml = true;
message.BodyEncoding = Encoding.UTF8;
SmtpClient smtp = new SmtpClient("SmtpServer");
smtp.Credentials = new System.Net.NetworkCredential("userName", "password");
smtp.Port = 23123;
smtp.EnableSsl = true;
smtp.Send(message);
}
catch (SmtpException)
{
}
finally
{
message.Dispose();
message = null;
}
}
//异步发送
public static void SendMailMessageAsync(MailMessage message)
{
ThreadPool.QueueUserWorkItem(delegate { SendMailMessage(message); });
}
quartz.net
园子里的张善友有写教程
路过,学习了....