0

Asp.netでスケジューリングしたい

これを実装するには、次のオプションがあります

  1. SQLServer JOB を作成するには (私はこれを実行したくありません。.Net 環境の外に出たくありません)

  2. 2番目のオプションは、Windowsサービスを作成し、このウィンドウサービスがasp.net Webサービスを呼び出し、このWebサービスがasp.netメソッド
    を呼び出すことです(ホスティングプロバイダーがウィンドウサービスのインストールを許可していない可能性があるため、これを行う必要もありません)

  3. 3 番目のオプションは、グローバル クラスの Application_Start イベントでスケジューリング メソッドを呼び出すことです (欠点は、Web サーバーがいつでもスレッドを強制終了することです)。

  4. ホームページのPage_Loadイベントでスケジューリングコードを呼び出す(私のWebサイトに何時間も誰もアクセスしない可能性があります。また、スケジューリングコードのためにページの実行が遅くなる可能性があります)

  5. また、特定の間隔でページを呼び出すオンライン サービスもいくつか見つけました。一部を以下に示します。

    http://www.cronservice.co.uk/new/ http://scheduler.codeeffects.com

誰かベッターにこの問題の解決策を教えてください。また、ベッターである理由を説明してください。

前もって感謝します

4

6 に答える 6

4

ASP.NETアプリケーションは、スケジューリングを実装するのに適切な場所ではありません。短い間隔で実行されるサービスまたはスケジュールされたタスクを作成することをお勧めします。

于 2012-05-01T15:00:39.200 に答える
1

共有ホスティング環境には多くのオプションがありません。私のホスト (WinHost) ではデータベースへのリモート アクセスが許可されているため、タスク スケジューラを使用してローカル サーバーで実行される実行可能ファイルを作成できました。

データベースはインターネット経由でアクセスされるため、パフォーマンスは良くありませんが、ASP.NET で疑似スケジュール タスクを実行するよりは優れています。

一部のホストは、スケジュールに基づいてサイト内の URL を要求するサービスも提供しています。ただし、実行する必要のあるタスクがリクエストのタイムアウトよりも長くかかったため、これはうまくいきませんでした。

于 2012-05-01T15:07:28.590 に答える
0

すべてに適合する1つのソリューションはありません。SQLジョブとWindowsジョブ(Windowsタスクスケジューラを介してスケジュールされた)は非常に広く使用されています。私の以前の職場の1つでは、複数のプラットフォーム(メインフレーム、Windows、SQLサーバー)で実行されるジョブがありました。これらの仕事のいくつかで失敗すると、日ごとに数千の費用がかかります。そこで彼らはESPと呼ばれるものを採用しました。このソフトウェアは、すべてのプラットフォームでジョブを監視し、障害が発生した場合に制御室にメッセージを送信しました。

要件にもう少し光を当てれば、私たちはあなたをより良く助けることができるかもしれません。

于 2012-05-01T15:02:41.993 に答える
0

理想的には、完全な制御/履歴/エラー報告などを取得できるので、番号 1 を使用します。.NET で SSIS ジョブを作成し、SQL サーバーにスケジュールさせることができます。

ただし、非常に制限的な共有ホスティングで同様の問題が発生しました。私がしたことは、ページの読み込み時にプロセスを実行するページを作成することでした (セキュリティのためにクエリ文字列の検証を使用)。次に、常にオンになっているマシンを使用して、Windows タスク スケジューラ (これは標準で Windows の一部です) をスケジュールし、ブラウザーを開いてからシャットダウンする VB スクリプトを少し呼び出しました。

于 2012-05-01T15:07:57.187 に答える
0

ASP.NET は、スケジュールされたタスクを格納する適切な場所ではありません。スケジュールされたタスクを作成する必要があるときは、Quartz.net を使用しています。

于 2012-05-01T15:05:32.093 に答える
0

タスクを起動するページを作成し、URL http://www.mydomain.com/runtaskに配置します。

http://www.mydomain.com/runtaskにリクエストを送信するスケジュールされたタスクを自宅の PC に作成します。

自宅の PC を常にオンにしておく必要があります。

于 2012-05-01T15:06:21.990 に答える