Механизм истечения срока действия кэша ASP.NET? - PullRequest
0 голосов
/ 01 августа 2011

У меня есть задача, которую я хочу выполнять в 8 утра ежедневно, и я рассматриваю это решение: http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

Но я не понимаю, как это работает.

Скажем, пользователь X посещает сайт в пятницу в 16:00, а затем закрывает браузер и выключает компьютер. Будет ли истек срок действия кеша в субботу в 8 утра? Если ни один пользователь не заходит на сайт, будет ли мой процесс запускаться каждый день?

По сути, мой вопрос сводится к тому, надежен ли этот метод? Или это зависит от пользователей, посещающих сайт?

Ответы [ 2 ]

2 голосов
/ 01 августа 2011

Приложение ASP.NET При размещении (запуске) в IIS запускается несколько событий, одним из которых является Application_Start. Затем установка фоновой задачи продолжается до тех пор, пока приложение не будет остановлено / выгружено из IIS или сама служба IIS остановлена. IIS является хост-процессом для всех веб-сайтов ASP.NET.

Поскольку кэш поддерживается на веб-сервере, он не имеет ничего общего с активными пользователями.

Это аналог консольного приложения, где первая строка кода добавляет что-то в кеш с таймером. работает, пока ваше консольное приложение запущено и работает.

Надеюсь, это вам поможет!

1 голос
/ 01 августа 2011

Кеш на стороне сервера отличается от кеша браузера.Пользователи, закрывающие свои браузеры, вообще не будут влиять на код Джеффа.Однако, если ваш пул приложений закрывается (а может, если на сайте нет пользователей), тогда ваш код вообще не будет работать, пока кто-то не зайдет на сайт, пул приложений снова не раскрутится, а затем будет 8:00.на следующий день (при условии, что пул приложений еще работает).

...