我在其中一个页面中启用了输出缓存,如下所示:
<%@ OutputCache Duration="300" VaryByParam="*"%>
问题是有时会出现异常,我们会显示适当的消息。但是该页面随后被缓存,其他用户也看到了异常消息。例如,假设数据库超时并因此引发 Sql 异常。捕获此异常并显示一条消息“连接数据库时出错。请稍后再试”。现在,此消息被缓存并显示给其他用户,甚至无需查询数据库。
所以我想要做的是在出现异常时使特定的输出缓存无效,或者在出现异常时可能不缓存。如何才能做到这一点?
这适用于 ASP.NET 3.5 Webforms。