-3

状況 1:
ユーザーが ASP.NET ページで、おそらくボタンをクリックしてファイルを作成します。
その後、ユーザーはオフライン (サイトから離れた状態) に
なる可能性があります。ファイルは 15 分後に自動的に削除されます。

状況 2:
ユーザー A がボタンをクリックする

Application["count"] = (int)Application["count"] + 1;

その後、10 秒以内に他のユーザーがいる場合は、同じボタンをクリックします。値が増加します。

Application["count"] = (int)Application["count"] + 1;

6 秒目に、サイトにアクセスしているユーザーがなくなったとしましょう。10 秒目に、サーバーは何らかのアクションを自動的に実行します。

これを行う方法を教えてください。
ヒントはありますか?または私が見たり学び始めたりできる記事はありますか?

どうもありがとうございます。

4

2 に答える 2

2

これは Web サイトでよくある問題であり、バックグラウンド タスクを実行する別の Windows サービスを構築するのが正しい答えです。

IIS ワーカー プロセス内で実行されるようにスケジュールを設定するには、いくつかの種類のスマートなトリックがありますが、それらはすべて安全ではありません。

  1. アプリケーション プールはいつでもリサイクル (再起動) される可能性があり、スケジュールされたイベントなどの内部状態が失われます。
  2. 非アクティブなため、アプリケーション プールがシャットダウンされている可能性があります。

Windows サービスは、Web サイトのコードによって内部的に呼び出される WCF サービスを公開して、スケジュールを設定したり、共通のデータベースから作業項目を取得したりできます。

于 2013-01-12T10:08:18.223 に答える
0

私はいくつかのトレーニングを見つけました。同じ問題に直面している人は、これを読むことができます:
ASP.NET の簡単なバックグラウンド タスク
https://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

于 2013-01-12T10:20:30.100 に答える