如何缓存复合服务器控件?

发布于 2024-10-17 06:34:53 字数 547 浏览 6 评论 0原文

如何使用系统缓存对象 HttpContext.Current.Cache 在缓存中存储自定义服务器控件?

目前我的代码如下所示:

            string adxkey = string.Format("adxdependency:document:{0}", this.SearchRootDocumentKey);
        System.Web.Caching.CacheDependency cd = new System.Web.Caching.CacheDependency(null, new string[] { adxkey });
        HttpContext.Current.Cache.Insert(adxkey, this, cd);   

这位于 OnInit 方法中。我的问题是:

  • 是否有更好的方法来放置缓存代码?
  • 您可以像上面那样通过传递对服务器控件的引用来缓存服务器控件吗?或者我需要缓存渲染的html?

如何以编程方式缓存服务器控件的示例将不胜感激!谢谢。

How would I use the system caching object, HttpContext.Current.Cache to store a custom server control in the cache?

Currently I have code that looks like this:

            string adxkey = string.Format("adxdependency:document:{0}", this.SearchRootDocumentKey);
        System.Web.Caching.CacheDependency cd = new System.Web.Caching.CacheDependency(null, new string[] { adxkey });
        HttpContext.Current.Cache.Insert(adxkey, this, cd);   

This is located int he OnInit method. My questions are:

  • Is there a better method to place the caching code in?
  • Can you cache a server control by passing a reference to it as in above? Or do I need to cache the rendered html?

An example of how to programmatically cache a server control would be greatly appreciated! Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

荒路情人 2024-10-24 06:34:53

简而言之,您需要将缓存属性添加到页面或用户控件,而不是服务器控件。我写了一篇关于如何执行此操作的博客文章,您可以在这里找到它:

http://www.dirigodev.com/blog/post/AspNET-Caching-101-Part-2-Cache-Key-Dependency.aspx

The short answer for this is that you need to add your caching attriutes to a page or user control, not a server control. I have written a blog post about how to do this, you can find it here:

http://www.dirigodev.com/blog/post/AspNET-Caching-101-Part-2-Cache-Key-Dependencies.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文