WebPart.PartCacheInvalidate - Méthode (Storage, String)
Marquer les entrées du cache spécifiée du type de stockage spécifié dans le cache de composant WebPart est obsolète.
Espace de noms : Microsoft.SharePoint.WebPartPages
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Protected Sub PartCacheInvalidate ( _
storage As Storage, _
key As String _
)
'Utilisation
Dim storage As Storage
Dim key As String
Me.PartCacheInvalidate(storage, key)
protected void PartCacheInvalidate(
Storage storage,
string key
)
Paramètres
storage
Type : Microsoft.SharePoint.WebPartPages.StorageUne valeur Storage qui identifie le type de stockage alloué dans le cache de composant WebPart pour marquer comme étant obsolète. Les valeurs possibles sont Personal et Shared.
key
Type : System.StringUne valeur qui identifie l'entrée de cache du type de stockage spécifié dans le cache de composant WebPart.
Remarques
Appel de la méthode PartCacheInvalidate(Storage, String) en transmettant une valeur Storage et une clé en tant qu'arguments marque uniquement la valeur mise en cache spécifiée du type de stockage spécifié dans le cache de composant WebPart est obsolète. Appelez la méthode [M:Microsoft.SharePoint.WebPartPages.WebPart.PartCacheInvalidate()] pour marquer tout le contenu du cache du composant WebPart est obsolète. Appelez la méthode PartCacheInvalidate(Storage) pour marquer tout le contenu du type de stockage spécifié dans le cache de composant WebPart est obsolète.
Exemples
L'exemple de code suivant illustre un composant WebPart qui met en cache et affiche l'heure lorsqu'il est restitué en premier et fournit un bouton pour actualiser le cache de composant WebPart avec l'heure actuelle.
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();
}
}
}