从asp.net缓存返回页面时,哪些事件不会触发?

时间:2008-12-01 14:19:31

标签: asp.net events caching

我有一个用户必须登录的应用程序。 登录后,他们可以对我们的数据库执行搜索。

他们的身份会影响搜索结果。

我希望使用结果的缓存页面。 VaryByParam听起来不错。

但是,我不理解在返回页面的缓存版本时会触发或不触发的事件。

我不希望其他用户尝试提供可能指示其他用户帐户的网址参数,从而允许他们访问其他人的结果。

因此,我需要一个服务器事件,即使从缓存中返回页面时也会触发该事件,以便我可以根据会话版本检查此ID Param。

然而,这也意味着我无法在此事件中执行搜索,因为它始终会运行,因此无法实现缓存。所以我需要另一个事件,只有在从缓存中检索 页面时才会触发。

哪些事件在这两种情况下运行?

1 个答案:

答案 0 :(得分:1)

您是否考虑过设置响应缓存属性以允许客户端计算机缓存结果?在响应上使用Cache策略的SetCacheability方法将可缓存性设置为私有

如果每个用户可能有不同的结果,您实际上不需要服务器缓存,请让客户端缓存来完成工作。