私は特定の時間までにユーザーに電子メールを送信するためのシステムを持っています。 ASP.NET MVC4でビルドされ、メッセージの時刻をチェックしてメッセージの日が今日の場合に送信するためのアクション結果 "function"があります。「アクション結果」を呼び出す方法ASP.NET MVCを特定の時間に(毎日)
効率的な方法でスケジューラのように(毎日)このアクション結果をどのように呼び出すことができますか?
ありがとうございました。
私は特定の時間までにユーザーに電子メールを送信するためのシステムを持っています。 ASP.NET MVC4でビルドされ、メッセージの時刻をチェックしてメッセージの日が今日の場合に送信するためのアクション結果 "function"があります。「アクション結果」を呼び出す方法ASP.NET MVCを特定の時間に(毎日)
効率的な方法でスケジューラのように(毎日)このアクション結果をどのように呼び出すことができますか?
ありがとうございました。
別個のサービス/アプリケーションはより良いでしょうが、wgetを使用することができます。
GNU Wgetは、HTTP、HTTPS およびFTPで最も広く使用されているインターネット・プロトコルを使用してファイルを取得するための無料のソフトウェアパッケージです。
:それは簡単になど スクリプト、cronジョブ、X-Windowsのサポートなしで端末から"C:\Program Files (x86)\GnuWin32\bin\wget.exe" --no-check-certificate https://www.exammple.com/YouController/YourAction -O NUL
と呼ばれるように、それはあなたが、その後のような何かをするだろう、 非対話型のコマンドラインツールです。
を.bat
ファイルに保存し、必要なときにWindowsのスケジュールされたタスクを実行するように設定します(60秒ごとに実行する必要はないと仮定します。そうした場合は別の方法があるので教えてください)。代わりにWindowsサービスを使用してbatファイルを呼び出します)。あなたが見ることができるように、すべてが行うことで正常に実行された場合も、出力を救う-O NUL
一部を省略
:
public ActionResult YourAction()
{
//Do your code, get some stats that show it ran properly.
return Content("Return your stats here.");
}
お使いのコントローラのアクションから。
時刻が日、時、分の場合は、特定の時間、EX:26/8/2016 03:44 pmまでにメールを送信したいのですか? –
スケジュールされたタスクを実行するように設定できます。そのときに開始し、24時間ごとに実行するように設定します。あなたが行うことができるもう一つは、時間が正しいことを確認するアクションにチェックを追加し、そうでない場合は、1秒間スリープします。 – webnoob
新しいアプリケーションをWindowsサービスとして作成すると効率的です。特定の時間に開始するコードを簡単に設定できます。このソリューションでは、柔軟性と独立性が向上します。雇用を開始することができます:Windows Service to run a function at specified time
電子メールを送信し、サーバー上でスケジュールされたタスクを設定して毎日実行するためのアプリケーションを作成することは間違いありません。このようなWebアプリケーションでタイマーを設定するのは危険です。アプリケーションが一定期間アクセスされなかった場合、IISはそれをアンロードして、毎日のタスクをアンロードすることができます。 – itsme86
MVCアクションを厳格に使用しない場合は、hangfire.ioをチェックアウトしてください。それは素晴らしいです。 http://hangfire.io – Developer