我有一个电子邮件通知应用程序,发送电子邮件,我们这样做,在一个控制台应用程序,每5分钟运行。我们在任务中运行电子邮件部分,以便它可以继续发送到另一组通知。
然而,我们运行一个通知,控制台关闭,电子邮件永远不会被发送。在SMTP端,它说主机被强制关闭。如何使控制台应用程序在所有任务完成之前保持活动状态,但仍然能够使用多线程。
读取操作失败。传输的字节数:0远程IP:
44.444.444.44,会话:124992,代码:10054,消息:远程主机已强制关闭现有连接
private Task SendFromServer(MailMessage mailMessage, bool reuse, bool useServerSmtp)
{
return Task.Factory.StartNew(() =>
{
var smtp = new SmtpClient();
smtp.Send(mailMessage);
}
catch (Exception ex)
{
Logger.Error(ex.InnerException ?? ex);
}
finally
{
if(!reuse)
mailMessage.Dispose();
}
});
}
}