WebPart.PartCacheInvalidate method (Storage, String)
Marca as entradas de cache especificado do tipo especificado de armazenamento no cache de Web Part como desatualizados.
Namespace: Microsoft.SharePoint.WebPartPages
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
Protected Sub PartCacheInvalidate ( _
storage As Storage, _
key As String _
)
'Uso
Dim storage As Storage
Dim key As String
Me.PartCacheInvalidate(storage, key)
protected void PartCacheInvalidate(
Storage storage,
string key
)
Parâmetros
storage
Type: Microsoft.SharePoint.WebPartPages.StorageUm valor de Storage que identifica o tipo de armazenamento alocado no cache de Web Part para marcar como desatualizados. Valores possíveis são Personal e Shared.
key
Type: System.StringUm valor que identifica a entrada de cache do tipo especificado de armazenamento em cache de Web Parts.
Comentários
Chamar o método PartCacheInvalidate(Storage, String) passando um valor de Storage e uma chave como argumentos marca somente o valor especificado em cache do tipo especificado de armazenamento no cache de Web Part como desatualizados. Chame o método [M:Microsoft.SharePoint.WebPartPages.WebPart.PartCacheInvalidate()] para marcar todo o conteúdo do cache de Web Part como desatualizados. Chame o método PartCacheInvalidate(Storage) para marcar todo o conteúdo do tipo especificado de armazenamento no cache de Web Part como desatualizados.
Examples
O exemplo de código a seguir mostra uma Web Part que armazena em cache e exibe a hora quando ele é processado pela primeira vez e fornece um botão para atualizar o cache de Web Parts com a hora atual.
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();
}
}
}