在asp.net中使用Backgroundworker

时间:2013-02-08 13:08:36

标签: asp.net backgroundworker

任何人都可以解释是否可以在asp.net中使用Backgroundworker? 如果这是一个坏主意,为什么呢?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

一般来说没有任何好的或坏的,这完全取决于你将如何使用它,如果你将考虑任何预期的未来问题, 我发现这篇文章及其中的链接非常好 http://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.aspx

  

几年前菲尔哈克写了一篇关于危险的伟大文章   ASP.NET中重复出现的后台任务。在其中他指出了一些   当人们试图在这里工作时,常见的问题   背景。阅读它,但这是他的帖子摘要。

     

与请求无关的线程中的未处理异常将会发生   记下这个过程。如果您在Web场中运行站点,则可以   最终得到了所有试图运行的应用程序的多个实例   同时完成同样的任务。您的网站运行的AppDomain可以运行   因为多种原因而失败,并取消了你的后台任务   它。如果您认为自己可以自己编写后台任务,那就是   可能你会弄错。我不是在谴责你的技能,我只是   说它很微妙。另外,你为什么要这么做?

     

你有很多很好的方法可以在后台做事   很多图书馆和选择。

     

某些ASP.NET应用程序将托管在数据中心的IIS和其他应用程序中   将托管在Azure云中。使用范围大致如下   在我看来,这是:

     

概述:用于的Hangfire(或类似的类似开源库)   在ASP.NET网站中编写后台任务云:Azure WebJobs   一个正式的Azure功能,用于卸载后台任务的运行   在您的网站之外并扩展工作负载高级:Azure Worker   Cloud Service中的角色会缩放后台处理工作负载   独立于您的网站,您需要控制机器   有很多关于如何使用Azure WebJobs的精彩文章和视频,   以及有关可扩展Azure云中工作者角色的大量文档   服务工作,但不是很多关于托管的ASP.NET应用程序的方式   并轻松拥有后台服务。这里有几个。