因此,我一直在讨论各种不同的想法,试图发送电子邮件新闻稿,并且几乎在每一个回合都遇到阻塞。关于监控的建议通讯在ASP.NET中发送成功
我现在使用共享主机环境,并且需要它在此环境中保持稳定。
我想创建一个定时的计划系统,将批处理作为后台服务发送,但是我无法在此环境中执行此操作,所以我现在只需将一个长超时的AJAX帖子转换为.NET表单功能。
我有发送电子邮件,一个共同的功能,和我通过我的数据库循环这样做如下
For Each email In list
If Common.isValidEmail(email("email")) Then
Try
Common.sendEmail(email("email"), Common.tCase(email("email")), content, subject, "true", "newsletter", "customer")
Catch ex As Exception
errorList += email("id") & ","
End Try
Else
Common.changeData("DELETE FROM mailingList WHERE id='" & email("id") & "'")
End If
Next
我在这里赶上两个潜在的错误情况下,isValidEmail
功能检查,如果电子邮件是正确的,并然后我尝试发送一封邮件,如果失败了,我就会建立一个错误列表。
但是,如果服务中断,这是不好的。
因此,我正在考虑通过为每个电子邮件地址的数据库行添加一个“发送”标志来修改它,但是这需要为每个循环写入数据库,这是否会拼命减慢速度?
然后任何时候它退出,我可以回到数据库并重新发送给未被标记的用户。
有没有人有更好的想法?我希望这是一个后台服务,并且正在考虑将其迁移到Azure,希望我可以运行预定的后台服务,但现在,我需要一个解决方案来共享环境。
对......好吧,在这种情况下......这里就是了! – 2012-07-13 15:37:46