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