任何人都可以解释是否可以在asp.net中使用Backgroundworker? 如果这是一个坏主意,为什么呢?
答案 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应用程序的方式 并轻松拥有后台服务。这里有几个。