PublishingCachablePage Class

Represents the base class used for all page layouts and .aspx pages that use new performance enhancements in the Microsoft.SharePoint.Publishing namespace.

Inheritance Hierarchy

System.Object
  System.Web.UI.Control
    System.Web.UI.TemplateControl
      System.Web.UI.Page
        Microsoft.SharePoint.WebPartPages.WebPartPage
          Microsoft.SharePoint.Publishing.PublishingCachablePage
            Microsoft.SharePoint.Publishing.PublishingLayoutPage
            Microsoft.SharePoint.Publishing.TemplateRedirectionPage

Namespace:  Microsoft.SharePoint.Publishing
Assembly:  Microsoft.SharePoint.Publishing (in Microsoft.SharePoint.Publishing.dll)

Syntax

'Declaration
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public Class PublishingCachablePage _
    Inherits WebPartPage
'Usage
Dim instance As PublishingCachablePage
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public class PublishingCachablePage : WebPartPage

Remarks

Enhancements include the ability to use the full page output cache feature of Microsoft ASP.NET 2.0 and the field control cache available in Microsoft.SharePoint.Publishing.

Additionally, Microsoft SharePoint Server 2010 enables caching functionality that is ordinarily prevented by Microsoft SharePoint Foundation. Because SharePoint Server 2010 relies on Microsoft ASP.NET 2.0 caching, it instructs SharePoint Foundation not to set HttpContext.Response.Cache. Specifically, SharePoint Foundation disables the <% @ Output Cache> directive by resetting values in HttpContext.Response.Cache that would ordinarily prevent other applications from using ASP.NET 2.0 caching in a SharePoint Foundation environment. SharePoint Foundation is then able to use ASP.NET 2.0 output caching.

SharePoint Foundation instructs ASP.NET 2.0 to get no more data than is necessary to support a caching operation.

To minimize latency and maximize page processing performance, SharePoint Foundation sets the following properties to get only the amount of data that is required:

  • context.ListItemDisplayName

  • context.LineItemID

  • context.ListItemServerRelativeUrl

  • context.LoadContentTypes

  • context.FieldControlCacheGetCallback

  • context.FieldControlCacheSetCallback

Additional performance improvements have been made to reduce the overhead of initializing certain pieces of the SPContext object.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

PublishingCachablePage Members

Microsoft.SharePoint.Publishing Namespace