WebPart.PartCacheInvalidate-Methode (Storage, String)
Die angegebene Cache-Einträge des Speichertyps angegebenen in der Webpartcache als veraltet markiert.
Namespace: Microsoft.SharePoint.WebPartPages
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Protected Sub PartCacheInvalidate ( _
storage As Storage, _
key As String _
)
'Usage
Dim storage As Storage
Dim key As String
Me.PartCacheInvalidate(storage, key)
protected void PartCacheInvalidate(
Storage storage,
string key
)
Parameter
storage
Typ: Microsoft.SharePoint.WebPartPages.StorageEin Storage -Wert, der den Typ der in der Webpartcache als veraltet markiert zugewiesenen Speicher identifiziert. Mögliche Werte sind Personal und Shared.
key
Typ: System.StringEin Wert, der den Cacheeintrag mit der angegebenen Speicher im Cache Webpart identifiziert.
Hinweise
Aufrufen der PartCacheInvalidate(Storage, String) -Methode einen Storage -Wert und einen Schlüssel als Argumente übergeben werden nur den angegebenen zwischengespeicherten Wert der angegebenen Speichertyp in der Webpartcache als veraltet markiert. Rufen Sie die [M:Microsoft.SharePoint.WebPartPages.WebPart.PartCacheInvalidate()] -Methode, um alle Inhalte des Webpart-Caches als veraltet markiert. Rufen Sie die PartCacheInvalidate(Storage) -Methode, um alle Inhalte des angegebenen Speichertyps 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") + " "))
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")+ " ");
this.RenderChildren(output);
}
private string fetchData()
{
return DateTime.Now.ToLongTimeString();
}
}
}