0

Output cacheWebpart我的 ASP.Net 应用程序中使用。

并使用<%@ OutputCache Duration="86400" VaryByParam="None" VaryByCustom="ConferenceID" %>

我注意到 webpart 内容来自缓存,但我的服务器端代码也在运行该 webpart。意味着即使在使用输出缓存之后断点也会到达页面事件。

使用输出缓存后,如何停止我的服务器端代码不应在该 Web 部件上执行。

谢谢达尔维尔

4

1 回答 1

0

页面的单个元素上的输出缓存不会阻止页面级事件的运行。这意味着任何从缓存内容中传播向上/向下事件的东西最终仍可能在获取/回发时触发事件。

我最常看到这种行为,人们缓存了 ASCX 的输出,但随后在 ASPX/父 ASCX 中有代码,这些代码仍在运行和操作 ASCX 状态。无论如何,某些事件也会触发,因此重要的是您不要在 ASP .NET 不期望的地方做任何重量级的事情 - 构造函数是一个很好的例子,说明您不应该在哪里放置数据加载代码,几乎就是这个原因。

于 2015-07-29T11:02:43.487 回答