21

ウェブサイトに通知システムを作成したいですか?(スタックオーバーフローのようなもの)
24時間ごとにユーザーに通知をメールで送信するタスクをどのようにスケジュールできますか?

MVC4を使用できますか、それともWindowsサービスを使用する必要がありますか?

編集: MVC4アプリ内で3か月間
使用した私の経験。設定と使用は簡単ですが、いつでもタスクを実行することはありません。実行される場合と実行されない場合があります。スケジューリングの最善の方法は、特定の時間にタスクを実行することを確認すること だと思います。FluentScheduler
FluentScheduler
Windows Service

4

7 に答える 7

16

これは素晴らしいスケジューラー、FluentSchedulerであることがわかりました

使用法:

// Schedule an ITask to run at an interval
    Schedule<MyTask>().ToRunNow().AndEvery(2).Seconds();
于 2013-01-31T07:10:45.423 に答える
7

.NetJobSchedulerが必要です。これが良いものです:http://quartznet.sourceforge.net/

于 2013-01-31T07:08:22.340 に答える
3

ATriggerスケジューリングサービスを利用できます。.Netライブラリを使用して、オーバーヘッドなしでスケジュールされたタスクを作成することもできます。エラーログ、分析、タスクリストおよびその他の利点。

免責事項:私はATriggerチームの1人でした。これはフリーウェアであり、私には商業目的はありません。

于 2013-08-26T13:44:26.403 に答える
2

多分あなたはスケジュールされたタスクを使いたいでしょう。MVCでこれを行うことは悪い考えであり(責任を混合する)、Windowsサービスを構築することは私にはやり過ぎのように見えます(何かを常に実行する必要がないため)。

于 2013-01-31T07:07:10.857 に答える
1

Windowsのスケジュールされたタスクを使用します。

bdにレコードを入力してから、このrecordId(Guid)をパラメーターとしてWebサイトにアクセスするよりも小さなアプリを作成しました。

mvcで、IDが存在するかどうかを確認します。存在する場合はタスクを実行し、存在しない場合はデータベース内のレコードを削除します。存在しない場合は無視します。

このようにして、パラメータを使用してスケジュールを追加することはできません。新しいスケジュールされたタスクが必要になるたびにアプリを更新せずに。「myapp.exe/MyNewTaskName」のような新しいタスクを追加するだけです

これが誰かを助けることを願っています;-)

于 2015-09-17T12:26:16.920 に答える
1

初めに;

  1. Nugetパッケージを追加するInstall-Package FluentScheduler
  2. レジストリといくつかのコードを継承するレジストリクラスを追加します
// Schedule a simple task to run at a specific time
Schedule(() => System.Diagnostics.Debug.Write("This is from service " + DateTime.Now.Second+"\n"))
               .ToRunNow().AndEvery(2).Seconds();
  1. そのレジストリクラスをApplication_StartofにGlobal.asax.cs TaskManagerで登録します
TaskManager.Initialize(new Test());

GitHub

于 2016-01-05T11:05:55.460 に答える
0

組み込みのオプション、QueueBackgroundWorkItemもあります。.Net 4.5.2で追加されました。これは、MVCでの使用方法に関するガイドです。

前述のFluentSchedulerに加えて、HangFireもあります。また、Azureへのデプロイを計画している場合は、このためのさまざまなサービスがいくつかあります

于 2017-10-23T10:19:59.280 に答える