Web服务器中的线程/Web服务



我想知道哪种是在服务器中创建背景任务的最佳方法,发送电子邮件。

这个想法是一个人竞标一个项目,这会自动将邮件发送给该任务,该任务将邮件发送给通讯员,但是我该如何执行此操作,而不会影响网站功能或使其慢慢。<<<<<<<<<<<<<<<<<</p>

我已经阅读了有关异步任务的一些内容,但不确定这是否是解决我的问题的方法。

您可以创建异步背景线程,查看使用的用法.NET框架任务类(如果您使用的.NET 4.X)在先前的版本中您必须查看线程或线程。但是请务必访问数据,以防止主线程和电子邮件从陷入问题的线程,您还需要查看锁定资源带有"锁"语句。

这很好,如果您需要一次发送许多电子邮件,应该做到这一点异步,这意味着"用户不必等待它"。在网络中,这也是您在线程中执行此类操作的最佳方法如果花费太长时间,可能会有时间。但是,当然,在线程结束时,您应该以某种方式创建报告并将其发送给执行用户,以便他知道邮件已经完成或者如果发生任何错误。

我们通过创建负责的网络服务在公司中解决了这一问题将电子邮件运送到SMTP服务并将其记录,包括内容和电子邮件发送的状态。我们的修复以我们的Web服务定义的格式构建电子邮件他们负责最终用户的Staus报告。

当然,通过这样做,您仍然需要拥有一个构建的图层您要发送的电子邮件并将其转发给邮件服务,这也许仍然需要进行异步。因此,只有转电本身才会像这样与您的应用程序分开。

但是,如果您有一个需要进行大规模邮件或类似的应用程序并且您想将其与"普通"工具分开(例如分开过程然后,过程负载)然后简单地创建一个单独的服务,该服务"知道"主应用程序的域。

这样做,您只需要通过将主应用程序从主应用程序发送到邮件服务来触发邮件服务。但是再次,也许您需要建立一个背景线程,该线程收集并发送该服务所需的信息。

您可以以多种方式创建此服务,例如使用WCF,作为带有消息重入的背景Windows服务,或带有REST API等的基于HTTP的服务等。

您没有提供有关您需要做的事情的太多信息,但是也许这会将您指向正确的方向。

最新更新