在后台运行作业

时间:2010-12-15 14:14:13

标签: c# .net asp.net vb.net multithreading

我需要一个在后台运行作业的代码块。假设用户单击“提交”按钮,然后在后台启动作业,同时用户关闭该窗口并运行其他作业,并且作业应该继续运行。

请在ASP.NET和VB.NET中提供一些帮助。

非常感谢您的帮助

5 个答案:

答案 0 :(得分:5)

您可以查看ThreadPool.QueueUserWorkItem方法,该方法允许您在从线程池中提取的线程上运行某些方法。作为替代方案,如果它是一个长时间运行的任务,您可以使用Thread类手动生成一个新线程,以避免危及池中包含有限数量线程的线程,并且该线程也用于处理请求。 ASP.NET应用程序。

答案 1 :(得分:4)

您可以通过创建托管wcf服务的Windows服务来完成此操作,当用户单击提交按钮时,您可以将请求发送到Windows服务,并且Windows服务将在用户关闭窗口的后台事件中运行

答案 2 :(得分:1)

BackgroundWorker可能是最容易开始的地方。将您的代码放入DoWork事件中。

答案 3 :(得分:0)

您可以使用BackgroundWorker,具体取决于您的具体情况。

答案 4 :(得分:0)

BackgroundWorker将在后台运行,并且可以在需要时轻松用于将更新同步回GUI。

或使用Task Parallel Library ...