0

他のチームがアップロードした小さな画像の拡大画像を生成し、アップロードされたフォルダに画像が残っていない場合は停止するWebアプリケーションがあります。

画像の生成を開始し、終了するたびに再起動するには、ボタンをクリックする必要があります。

このクリックイベントは、アプリケーションが停止したときと同じように、15分以上の定期的な間隔で自動的に発生する可能性があります。

以前のスレッドで同様の質問がありました。C#スケジューラの書き方

private void OnTimerTick()
{
    if (DateTime.Now.Minutes % 15 == 0)
    {
        // Do something
    }
}

以下のコードを呼び出すためにタイマーをどこに配置する必要がありますか?

protected void btnImgGenerate_click()
{
    // Application code
}

asp.netのWebアプリケーションが実行を停止したかどうかを確認し、自動的に再起動する方法はありますか?

タイマーを使用すると、アプリケーションを特定の時刻に開始および停止するようにスケジュールし、2番目の方法を使用して指定した時間帯にアプリケーションを実行し続けることができます。

4

3 に答える 3

1

15分後にボタンをクリックするためのjQueryの実装(ポストバックが発生し、イベントがトリガーされます)は次のとおりです。

$(document).ready(function(){
    setTimeout(function(){$('btnImgGenerate').click();},900000);
});
于 2012-11-03T06:26:35.743 に答える
1

Global.asaxファイルのSystem.Threading名前空間からタイマーを初期化するコードを追加し、必要な定期的にいくつかの機能を実行するように構成できます。ただし、アプリケーションがクラッシュすると、次の問題が発生します。

asp.netのWebアプリケーションが実行を停止したかどうかを確認し、自動的に再起動する方法はありますか?

タイマーを使用すると、特定の時刻にアプリケーションを開始および停止し、2番目の方法を使用して指定した時間帯にアプリケーションを実行し続けるようにアプリケーションをスケジュールできます。

いいえ。なんらかの理由で停止し、新しいリクエストが来ない場合は、それ自体からWebアプリケーションを開始することはできません。したがって、私の意見では、あなたの目的にはWindowsサービスの方が適しています。

于 2012-11-03T06:35:35.660 に答える
0

タイマーを開始するボタンクリックイベントがあります-

 protected void button1_Click(object sender, EventArgs e)
    {
     timer1.Enabled = true;
    }

タイマーのティックイベントでは、次のようなことができます-

protected void timer1_Tick(object sender, EventArgs e)
    {
      timer1.enabled=false;
      //do your coding
      timer1.enabled= true;
    }

したがって、ボタンをクリックすると、タイマーが開始し、すべての操作が実行され、timer1.enabledをtrueに設定した後、最後に自動的に再起動します。

クリックイベントなしでこれを自動化することを探している場合は、javascript setInterval()メソッドを使用できます-ここの例を参照してください-

http://www.w3schools.com/jsref/met_win_setinterval.asp

于 2012-11-03T06:23:27.343 に答える