(Storage, String) del método WebPart.PartCacheInvalidate
Marca las entradas de caché especificado del tipo de almacenamiento especificado en la memoria caché de elementos Web como obsoleto.
Espacio de nombres: Microsoft.SharePoint.WebPartPages
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
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
Tipo: Microsoft.SharePoint.WebPartPages.StorageUn valor de Storage que identifica el tipo de almacenamiento asignado en la memoria caché de elementos Web para marcar como obsoleta. Los valores posibles son Personal y Shared.
key
Tipo: System.StringUn valor que identifica la entrada de caché del tipo de almacenamiento especificado en la memoria caché de elementos Web.
Comentarios
Llamar al método PartCacheInvalidate(Storage, String) , pasando un valor de Storage y una clave como argumentos marca sólo el valor almacenado en caché especificado del tipo de almacenamiento especificado en la memoria caché de elementos Web como obsoleto. Llame al método [M:Microsoft.SharePoint.WebPartPages.WebPart.PartCacheInvalidate()] para marcar todo el contenido de la memoria caché de elementos Web como obsoleto. Llame al método PartCacheInvalidate(Storage) para marcar todo el contenido del tipo de almacenamiento especificado en la memoria caché de elementos Web como obsoleto.
Ejemplos
En el ejemplo de código siguiente se muestra un elemento Web que se almacena en caché y muestra la hora cuando se representa por primera vez y proporciona un botón para actualizar la memoria caché de elementos Web con la hora actual.
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();
}
}
}