Предположим, что теоретически у меня есть действие страницы/контроллера на моем веб-сайте, которое выполняет очень тяжелые функции. Для завершения операции требуется около 10 секунд.
Теперь я использую механизм outputcache .NET для кеширования на 15 минут (например, я использую [OutputCache(Duration = 900)]
). Что произойдет, если через 15 минут срок действия кеша истечет и 100 пользователей снова запросят страницу в течение тех 10 секунд, которые требуются для выполнения? тяжелая обработка?
- Тяжелые вещи выполняются только в первый раз, и есть некий механизм блокировки, так что остальные 99 пользователей получат результат кеша.
- Тяжелые вещи выполняются 100 раз (и сервер хромает, так как это может занять до 100 * 10 секунд)
Может быть, простой вопрос, но я не уверен на 100%. Я надеюсь, что это номер один, хотя :-)
Спасибо!