У меня есть приложение, в которое пользователи должны войти. После входа в систему они могут выполнять поиск в нашей базе данных.
Их личность может повлиять на результаты поиска.
Я хочу использовать Кэш страницы результатов. VaryByParam подходит для этого.
Однако я не понимаю события, которые срабатывают или не срабатывают при возврате кэшированной версии страницы.
Я не хочу, чтобы другой пользователь пытался передать параметры URL-адреса, которые могут указывать на другую учетную запись пользователя и, следовательно, разрешать им доступ к чужим результатам.
Поэтому мне нужно событие сервера, которое всегда срабатывает, даже когда страница возвращается из кеша, чтобы я мог проверить этот параметр идентификатора на соответствие версии сеанса.
Однако это также означает, что я не могу выполнить свой поиск в этом событии, поскольку он будет выполняться всегда и, следовательно, не будет выполнять цель кэширования. Поэтому мне нужно другое событие, которое срабатывает только в том случае, если страница не извлекается из кеша.
Какие события происходят при этих двух обстоятельствах?