C# 排队框架解决方案

C# 排队框架解决方案,c#,.net,queue,task-queue,C#,.net,Queue,Task Queue,我想解决这样一个问题:我有一个HTML表单(比如注册表单),提交时会发送电子邮件。现在我将其作为页面请求的一部分发送。明显的缺点: 使请求更长 有时smtp服务器关闭,或超时和电子邮件未发送 在使用PHP时,我使用了一种基于队列的解决方案——我将一个对象/xml放入队列主机,然后某种客户端检查该队列。若队列任务已成功处理,它将从队列中删除该任务。我想知道,在Windows/.NET平台上是否有类似的实现 谢谢,Paweł有强大的队列,在.NET中使用起来很方便。也许是个好的开始。啊-为什么

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

  • 使请求更长
  • 有时smtp服务器关闭,或超时和电子邮件未发送
在使用PHP时,我使用了一种基于队列的解决方案——我将一个对象/xml放入队列主机,然后某种客户端检查该队列。若队列任务已成功处理,它将从队列中删除该任务。我想知道,在Windows/.NET平台上是否有类似的实现


谢谢,Paweł

有强大的队列,在.NET中使用起来很方便。也许是个好的开始。

啊-为什么

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

让提交人将电子邮件写入本地投递目录,然后使用Windows系统的SMTP服务将其提交到提供商的电子邮件服务器。或者,使用您自己的服务将它们复制到传出电子邮件接收文件夹(我这样做是为了输入指向网站的代码进行跟踪)


这些是提供的标准方法。

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


请参阅:

Wow。将电子邮件内容写入硬盘?发送电子邮件时设置的电子邮件主题、收件人、发件人、抄送等属性如何?对不起,你能详细说明一下吗?:)简单。电子邮件是通过HTTP传输的文本文件。它是完全编码的-仔细-包括完整的标题信息,包括发件人和收件人。再提取一次也没问题。我一定已经停止了思考:)我想你应该有简单的HTML电子邮件内容。。。。不管怎样,它看起来很有趣。发送那些电子邮件怎么样?我只是偶然发现一些文章声称加载eml文件并发送它并不简单?如何发送它们?正如我所说,您可以将它们写入本地SMTP服务拾取文件夹。猜猜为什么这叫做皮卡文件夹。提示:服务器会自动接收电子邮件;)我很困惑,正如上面的文章所说,“…从现在起,您的电子邮件被放在本地文件夹C:\TempMail as.eml files…”看起来很好。我完全忘记了MSMQ。。。谢谢。不幸的是,应用程序正在使用第三方lib电子邮件解决方案。但是很高兴知道.NET中存在这样一个类,谢谢!我还想把它放在队列中,因为最近发生了很多次,哪个SMTP服务器关闭了。我不知道为什么你们需要第三方电子邮件解决方案。它们通常是蛇油。内置的很好。如果存在SMTP传递可靠性问题,您可以将邮件传递到本地IIS SMTP服务器,并将其中继到真实的IIS SMTP服务器。