在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
就像可以改变已进行输出缓存的页的版本一样,您可以输出缓存具有用户控件的页的区域。通过根据控件的名称和 GET 查询字符串或窗体 POST 参数值,或只根据参数值改变用户控件输出,您可以完成该操作。通过在它所包含的 .aspx 文件中对用户控件进行多次声明,您也可以缓存页上用户控件的多个版本。您可以使用这些技术中的任何一个,不管是在 .ascx 文件中使用 @ OutputCache 指令指定用户控件的输出缓存,还是当在代码隐藏类中开发用户控件时使用 PartialCachingAttribute。 用户控件的 @ OutputCache 指令支持四个属性:VaryByParam、VaryByCustom、VaryByControl 和 Shared。PartialCachingAttribute 类包括以下四个属性:VaryByParams、VaryByControls、VaryByCustom 和 Shared,这些属性允许您通过将属性添加到代码隐瞒类的用户控件中来使用相同的技术。 当首次对包含具有输出缓存设置的用户控件的 ASP.NET 页进行请求时,控件输出的实例将保存到内存中。默认情况下,包含同一用户控件的每一页都将会在请求该页时将控件输出的另一个实例添加到内存中。 例如,如果创建了一个具有输出缓存设置的用户控件 sample.ascx,并将 sample.ascx 添加到了应用程序的 25 个 ASP.NET 页中,则输出缓存中至少会存储 25 个 sample.ascx 版本。另外,如果使用 VaryByControl、VaryByCustom 或 VaryByParam 属性修改用户控件的缓存行为,则缓存中将会有更多的用户控件输出版本。例如,假定您将 TextBox Web 服务器控件包含在用户控件中,并将其 ID 属性设置为 如果在同一应用程序的多个页中使用了相同的用户控件,则可以通过以下方法来节省内存:将用户控件 @ OutputCache 指令的 Shared 属性设置为 true,或将 PartialCachingAttribute.Shared 属性设置为 true。这意味着每个页都将访问用户控件输出的同一实例。对于经常使用和频繁缓存的用户控件,使用 Shared 属性可以节省大量的内存。 将用户控件输出添加到输出缓存中和对页输出进行相同的操作这两者存在一个主要区别。尽管两者的输出缓存都支持使用 GET 查询字符串和窗体 POST 参数创建和缓存输出的多个版本,但用户控件不支持基于 HTTP 标头的缓存。 您可以使用以下四种技术来改变输出缓存的用户控件:
有关这些主题中每个主题的详细信息,请参见根据参数缓存用户控件的多个版本和通过使用声明性的属性缓存用户控件的多个版本。 |
请发表评论