ASP.NET上で「WebBackgrounder」を使って、バックグラウンドタスクを実装

はじめに

ASP.NET上で「WebBackgrounder」を使って、バックグラウンドタスクを実装

現在、ASP.NETでWebシステムを構築中で、利用者の登録時にバックグラウンド処理が
必要になったので、何かないか探していたところ、「WebBackgrounder」というパッケージがあったので、使ってみました。

この「WebBackgrounder」というパッケージは、MicrosoftのWeb開発のベストプラクティス-ASP.NET では行わないことと、その代わりに行うことの記事で紹介されていたので、使えるかなあと

https://docs.microsoft.com/ja-jp/aspnet/aspnet/overview/web-development-best-practices/what-not-to-do-in-aspnet-and-what-to-do-instead

やりたいことは、以下の利用者登録処理で、本登録の有効時間(72時間)を設定し、
バックグラウンドタスクで、有効時間が過ぎた仮登録の情報を削除する処理です。

利用者がWebシステムを使うため、利用者登録を行い、仮登録を行う。

利用者に本登録用のメールを送る

利用者がメールからのURLにアクセスして本登録を行う。

WebBackgrounderの入手

WebBackgrounderをnugetから入手。バージョン0.2.0が最新ですが、2012年から更新されていません。枯れた技術です。

https://www.nuget.org/packages/WebBackgrounder

参考ソース

以下、参考ソースです。

Global.asax.cs(抜粋)

まず初めに、Webアプリ開始と終了時に、WebBackgrounderの開始と終了処理を記述します。

WebBackgrounderSetup.cs(抜粋)

WebBackgrounderSetupでは、任意のジョブクラスを登録します。ジョブクラスでは、
任意の周期でタスクが実行できます。今回は1分周期でジョブが実行されます。

今回はジョブが1つだけですが、任意の周期でジョブが登録できます。

UserStatusUpdateJob.cs(抜粋)

ジョブクラスでは、WebBackgrounder.Jobクラスを継承したクラスを実装します。

Print Friendly, PDF & Email

シェアする

  • このエントリーをはてなブックマークに追加

フォローする