2

我正在使用SmtpClientMailMessageASP.Net代码发送电子邮件。我希望能够根据业务逻辑延迟发送电子邮件。我将能够生成一个DateTime关于何时实际发送电子邮件的对象。

我知道我可以创建一个Windows 服务Sql Server来使用数据库作为电子邮件存储来安排电子邮件传递。但我不想在托管服务器上部署额外的服务。

我也知道我可以创造一个SQL Server工作来实现这一点,但我不想,直到和除非,这不能使用纯ASP.NET

需要注意的是,我的代码检查是否MSMQ在服务器上启用。如果是,则将MessageQueue类用于电子邮件传递。因此,任何有关使用队列实现此目的的指针都会有所帮助。

顺便说一句,解决方案应该在两种情况下都有效(即SmtpClientMessageQueue.

我已经审查了这个这个问题及其接受的答案。我不想使用 3rd 方产品,除非使用 pure 无法实现ASP.NET

PS .Net Framework 版本:3.5,IIS 7 和 Sql Server 2008 应该是环境。

4

2 回答 2

1

有关在 asp.net 中保持计时器运行的一些信息,包括关于始终在线场景的精彩评论:

在 Web 应用程序启动时启动计时器

您可以使用以下方法来阻止 asp.net 关闭:

你能阻止你的 ASP.NET 应用程序关闭吗?

您可以简单地使用计时器来检查数据库并发送所有待处理的邮件。

于 2012-04-16T08:21:44.130 回答
0

经过客户的一些研究和澄清,决定我应该创建一个长时间运行的后台线程,它将在预定时间处理电子邮件的发送,而不必担心应用程序池是否由于不活动而关闭。

于 2012-04-25T05:48:09.677 回答