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.

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

[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public class PublishingCachablePage : WebPartPage

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.

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