2011-08-01 18 views
0

私は毎日午前8時に実行されるようにしたいと、この解決策を検討していますタスクがあります:http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/ASP.NETキャッシュの有効期限のメカニズム

をしかし、私はそれがどのように動作するかの仕組みを理解していませんよ。

セイユーザーXは、午後4時に金曜日にサイトを訪問して、彼のブラウザを閉じて、自分のコンピュータをオフにします。土曜日の午前8時にキャッシュの有効期限はまだ失われますか?ユーザーがサイトにアクセスしていない場合、私のプロセスはまだ毎日発火しますか?

基本的に私の質問は、この方法は信頼できるのですか?それとも、サイトを訪れるユーザーに依存していますか?どちらのApplication_Startが一番の一つであるのIIS上でホストされている場合には(開始)

答えて

1

サーバーサイドキャッシュはブラウザキャッシュとは異なります。ユーザーがブラウザを閉じても、Jeffのコードには何の影響もありません。しかし、アプリケーションプールがシャットダウンした場合(ユーザーがサイトにアクセスしていない場合もあります)、誰かがサイトを参照するまでコードが実行されず、アプリケーションプールが再びスピンアップし、午前8時です。次の日(アプリケーションプールがまだ稼働していることを前提とします)。

2

ASP.NETアプリケーションは、いくつかのイベントが発生します。バックグラウンドタスクを設定すると、アプリケーションがIISから停止またはアンロードされるか、IISサービス自体が停止するまで実行され続けます。 IISは、すべてのASP.NET Webサイトのホストプロセスです。

キャッシュは、Webサーバー上で維持されているので、アクティブなユーザー(複数可)とは何の関係もありません。

これは、コードの最初の行は、タイマー付きキャッシュに何かを追加して、コンソールaplpication、に似ています。コンソールアプリケーションが起動して動作している限り動作します。

希望すると、これが役立ちます。

関連する問題