Freigeben über


WebPart.PartCacheInvalidate-Methode (Storage)

Markierungen geben alle Inhalte des angegebenen Speichers in der Webpartcache als veraltet.

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

Syntax

'Declaration
Protected Friend Sub PartCacheInvalidate ( _
    storage As Storage _
)
'Usage
Dim storage As Storage

Me.PartCacheInvalidate(storage)
protected internal void PartCacheInvalidate(
    Storage storage
)

Parameter

Hinweise

Aufrufen der PartCacheInvalidate(Storage) -Methode einen Storage -Wert übergeben werden alle Inhalte des angegebenen Speichertyps in der Webpartcache als veraltet markiert. Rufen Sie die [M:Microsoft.SharePoint.WebPartPages.WebPart.PartCacheInvalidate()] -Methode, um alle des Inhalts der Webpartcache als veraltet markiert. Rufen Sie die PartCacheInvalidate(Storage, String) -Methode, um nur die angegebenen zwischengespeicherten Wert der angegebenen Speichertyp in der Webpartcache als veraltet markiert.

Beispiele

Das folgende Codebeispiel zeigt ein Webpart, das zwischengespeichert und die Uhrzeit, wann es wird zum ersten Mal gerendert und bietet eine Schaltfläche zum Aktualisieren des Caches-Webpart mit der aktuellen Zeit, anzeigt.

Imports System
Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Xml.Serialization
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.Utilities
Imports Microsoft.SharePoint.WebPartPages

Namespace WebPartLibrary1
    <DefaultProperty("Text"), _
    ToolboxData("<{0}:CacheSample runat=server></{0}:CacheSample>"), _
    XmlRoot([Namespace] := "WebPartLibrary1")>
    Public Class CacheSample
      Inherits Microsoft.SharePoint.WebPartPages.WebPart
      Private refreshButton As Button

      Public Sub New()
         AddHandler Me.PreRender, AddressOf UpdateCache
      End Sub

      Protected Overrides Sub CreateChildControls()
         refreshButton = New Button()
         refreshButton.Text = "Refresh Cache"
         AddHandler refreshButton.Click, AddressOf refreshButton_click
         Me.Controls.Add(refreshButton)
      End Sub

      Public Sub UpdateCache(o As Object, e As System.EventArgs)

         If Me.PartCacheRead(Storage.Shared, "cacheKey") Is Nothing Then
            Me.PartCacheWrite(Storage.Shared, "cacheKey", fetchData(), TimeSpan.FromSeconds(10))
         End If
      End Sub

      Private Sub refreshButton_click(o As Object, e As System.EventArgs)
         Me.PartCacheInvalidate(Storage.Shared, "cacheKey")
      End Sub

      Protected Overrides Sub RenderWebPart(output As HtmlTextWriter)
         output.Write("Cache Value: ")
         output.Write((PartCacheRead(Storage.Shared, "cacheKey") + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"))
         Me.RenderChildren(output)
      End Sub

      Private Function fetchData() As String
         Return DateTime.Now.ToLongTimeString()
      End Function
   End Class
End Namespace
using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;

namespace WebPartLibrary1
{
    /// <summary>
    /// Summary description for CacheSample.
    /// </summary>
    [DefaultProperty("Text"),
        ToolboxData("<{0}:CacheSample runat=server></{0}:CacheSample>"),
        XmlRoot(Namespace="WebPartLibrary1")]

    public class CacheSample : Microsoft.SharePoint.WebPartPages.WebPart
    {
        Button refreshButton;

        public CacheSample()
        {
            this.PreRender+=new EventHandler(UpdateCache);
        }

        protected override void CreateChildControls()
        {
            refreshButton = new Button();
            refreshButton.Text="Refresh Cache";
            refreshButton.Click+=new EventHandler(refreshButton_click);
            this.Controls.Add(refreshButton);
        }

        public void UpdateCache(object o, System.EventArgs e)
        {

            if(this.PartCacheRead(Storage.Shared,"cacheKey") == null)
            {
                this.PartCacheWrite(Storage.Shared,"cacheKey", fetchData(), TimeSpan.FromSeconds(10));
            }
        }

        private void refreshButton_click(object o, System.EventArgs e)
        {
            this.PartCacheInvalidate(Storage.Shared, "cacheKey");
        }

        protected override void RenderWebPart(HtmlTextWriter output)
        {
            output.Write("Cache Value: ");
            output.Write(PartCacheRead(Storage.Shared,"cacheKey")+ "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
            this.RenderChildren(output);
        }

        private string fetchData()
        {
            return DateTime.Now.ToLongTimeString();
        }
    }
}

Siehe auch

Referenz

WebPart Klasse

WebPart-Member

PartCacheInvalidate-Überladung

Microsoft.SharePoint.WebPartPages-Namespace