问题标签 [partial-caching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
171 浏览

asp.net - 部分缓存和提琴手?

我正在用 asp.net (webforms) 构建一个网站页面。

我正在为页面使用部分缓存(输出缓存)。所以AB(用户控件)被缓存。(而页面不是)。有什么方法我可以在其中看到FiddlerA在页面不在时从缓存B中检索?

编辑

可以说A.ascx仅包含:

<span>Hello A</span>

并且B.ascx仅包含:

<span>Hello B</span>

并且输出缓存位置是“ Private ”(仅适用于 ascx!)。

0 投票
1 回答
662 浏览

asp.net - 从输出缓存中排除动态呈现的用户控件

我们有一个站点(实际上是一个应用程序生成器),它在不同的场景中呈现了很多用户控件,

有一天,经理决定Output cache在主页添加,

好的,一切都很好,请求响应非常快!

但另一方面,这种缓存也有一些麻烦:

假设我们有一个InsertForm User control填充了一些实体,还有一个ListForm User Control显示实体列表,所以你可以猜到会发生什么,实体填充正确但没有显示在列表中,为什么?因为输出缓存。

然后我们必须从缓存中排除这个用户控件,经过一些搜索我们找到了Donut Caching,看起来很好,

我们使用动态添加服务器控件来替换

大多数用户控件实现依赖于所有页面生命周期,其中一些在Init中执行,一些在Load中,一些在Render中,因此在大多数情况下我们都有一个占位符,我们所做的是:

在此处输入图像描述

在此处输入图像描述

并在 PreRender 中删除 placeHolder 中的所有控件以防止重复:

在此处输入图像描述

在某些情况下我们有一个很好的结果但是在某些实现中我们又遇到了麻烦,所有的Request替换为HttpContext.Current.Request和所有的Sessions 都转换为字段,但在某些情况下,比如 useWizard我们仍然有异常:Request does not exist in this context. 而在绑定事件中我们又遇到了麻烦,事件没有正确绑定,比如向导的下一步按钮点击事件。

毕竟我填写我们的方式是错误的,也许这在这种情况下是不切实际的,

你怎么看?

我们还有其他选择吗?

还是所有这些麻烦都可以解决?请问有什么建议吗?

0 投票
0 回答
62 浏览

c# - 如何改变动态加载的 UserControls 输出缓存?

我使用下面的代码向我的页面添加了几个“MyControl.ascx”控件,我还在 .ascx 文件上使用了输出缓存方向。

控件缓存后,它们的输出html是一样的!!!我怎么能改变它们?

输出缓存方向:

C#代码: