在asp.net中维护后台运行任务的有效方法是什么?

时间:2017-01-19 05:24:37

标签: c# asp.net jobs

我有一些任务需要30多分钟才能完成。我不知道如何维持这种任务。请帮我这个

2 个答案:

答案 0 :(得分:2)

我使用Hangfire作为后台任务的一个项目,我发现它非常好。

Hangfire是一个开源框架,可帮助您创建,处理和管理后台作业。它带有开箱即用的仪表板,可以跟踪您的后台工作以及更多很酷的功能。

该文档非常适合开始使用该工具。 您可以找到文档here

答案 1 :(得分:1)

它需要是异步的以及分布式的(可能)。在我们的项目中,我们使用Akka.Net来完成这些任务。它使用actor模型,它基本上是你要求在后台看不到长期async任务的代码的一部分。

http://getakka.net/

http://getakka.net/docs/Getting%20started

var greeter = system.ActorOf<GreetingActor>("greeter");
greeter.Tell(new Greet("World"));

代替GreetingActor,您将拥有漫长的运行流程,在第二行代码中,您会向其传递一条消息,告知其运行async。如果您需要<actor>.Ask(),还有synchronous