2017-01-19 10 views
-3

完了までに30分以上かかる作業があります。私はこの種のタスクをどのように維持するのか分かりません。私にこれを手伝ってください。asp.netのバックグラウンド実行タスクを維持する効果的な方法は何ですか?

+0

とにかくウェブサーバーに置かないことをお勧めします。 WebサーバーがWeb要求を処理できるようにします。バックグラウンド処理をアプリケーションサーバーに置く。 – mason

+1

あなたの研究成果(https://www.google.com/search?q=background+running+tasks+in+asp.net)を含めないことにしたので、あなたがすでに試したことが分かりません。したがって、デフォルトの重複は基本をカバーするべきです - あなたの研究の結果を将来の質問で実証することは自由です。 –

答えて

2

私はバックグラウンドタスクのプロジェクトにHangfireを使っています。

Hangfireは、バックグラウンドジョブの作成、処理、および管理に役立つオープンソースのフレームワークです。それはあなたのバックグラウンドジョブと多くのクールな機能を追跡するために、ボックスのダッシュボードと一緒に付属しています。

このツールを使用するには、ドキュメントを読むのが良いです。 hereというドキュメントがあります。

1

非同期でも分散している必要があります(おそらく)。このプロジェクトでは、このような作業を行うためにAkka.Netを使用しています。これは、あなたの長いasyncタスクをバックグラウンドで見えないようにするコードの本質的な一部であるアクターモデルを使用します。 GreetingActorの代わりに

http://getakka.net/

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

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

、あなたは長い間、実行中のプロセスがあるでしょうし、コードの2行目に、あなたはそれをasyncを実行するためにそれを通知するメッセージを渡します。 synchronousが必要な場合は、<actor>.Ask()もあります。

関連する問題