c# - 在应用程序池中运行我的邮件队列是否错误?

标签 c# asp.net email application-pool smtpclient

我们必须发送自动电子邮件。它们需要可靠地调度,因此我们将它们写入数据库。同时,在 Application_Start 处启动的 System.Threading.Timer 每 30 秒调用一个方法来读取数据库并发送然后删除已发送的条目。所有这些都不是长期运行的任务。我们已小心确保清除数据库队列的过程使用异步方法,因此发送/排队的任何阶段都不会阻塞,整个过程由线程池中的短期方法执行>。应用程序回收的成本也很小(可能导致重新发送一封电子邮件......不是问题)。

传统观点认为,在网络应用程序中运行它不太好,我应该将其转变成一项服务。

写作服务是一项 PITA。如果可能的话我宁愿避免它。那么为什么我不应该在我的应用程序池中运行高效的异步邮件队列呢?谁能帮我解答一下吗?

最佳答案

如果您的网站未被使用,您的应用程序池将不会启动 - 不会发送邮件。

关于c# - 在应用程序池中运行我的邮件队列是否错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9694738/

相关文章:

c# - 获取 Unity 中游戏对象的所有组件的列表

c# - 比较日期没有给我选择的日期

java - 如何使用MimeBodyPart以相同的文件名保存不同的内容?

Android:如何使用 intent-filter 处理 PDF 电子邮件附件?

c# - 如何检查现有记录

c# - 检查 HTTP 缓存上的空引用

.net - 关于跳过强名称验证的奇怪问题

c# - 使用 System.Threading.ReaderWriterCount 获取内存不足异常

javascript - 当过滤器属性设置时,Kendo 下拉列表小部件会中断

php - 带有 GET 参数(或同等参数)的电子邮件地址