排队框架解决方案

时间:2011-03-08 14:11:12

标签: c# .net queue task-queue

我想解决这样一个问题:我有一个HTML表单(如注册表单),提交发送电子邮件。现在我将其作为页面请求的一部分发送。明显的缺点:

  • 提出更长时间的要求
  • 有时smtp服务器已关闭,或未发送超时和电子邮件

使用PHP时,我使用了基于队列的解决方案 - 我一直将一个object / xml放到队列主机上,然后某种客户端检查了该队列。如果队列任务成功处理,则从队列中删除任务。我想知道,在Windows / .NET平台上是否有类似的实现?

谢谢,帕维尔

3 个答案:

答案 0 :(得分:3)

MSMQ提供了强大的排队功能,易于在.NET中使用。 Accessing Message Queues可能是一个很好的起点。

答案 1 :(得分:0)

AH - 为什么?

  

我有一个HTML表单(如注册表单),提交发送电子邮件。

让提交将电子邮件写入本地放置目录,然后使用Windows系统的SMTP服务将它们提交给提供商电子邮件服务器。或者使用您自己的服务将它们复制到外发电子邮件提取文件夹(我这样做,这样我就可以放入指向网站的代码进行跟踪)。

这些是标准方法。

答案 2 :(得分:0)

您不一定需要这样的队列。您可以在System.Net.Mail.SmtpClient类上使用SendAsync方法。这将立即返回,而不是阻止页面。

请参阅:http://msdn.microsoft.com/en-us/library/x5x13z6h.aspx