WebPart.PartCacheRead - Méthode

Lit et retourne une valeur à partir de l'emplacement spécifié dans le type de stockage dans le cache du composant WebPart spécifié.

Espace de noms :  Microsoft.SharePoint.WebPartPages
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Protected Function PartCacheRead ( _
    storage As Storage, _
    key As String _
) As Object
'Utilisation
Dim storage As Storage
Dim key As String
Dim returnValue As Object

returnValue = Me.PartCacheRead(storage, _
    key)
protected Object PartCacheRead(
    Storage storage,
    string key
)

Paramètres

  • storage
    Type : Microsoft.SharePoint.WebPartPages.Storage

    Une valeur Storage qui spécifie le type de stockage dans le cache de composant WebPart où une valeur est lue. Les valeurs possibles sont Personal et Shared. Spécification de None renvoie une référence Null (Rien dans Visual Basic).

  • key
    Type : System.String

    Le nom de la valeur à lire à partir du cache de composant WebPart.

Valeur renvoyée

Type : System.Object
Un object qui renvoie la valeur qui est en lecture.

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") + "&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();
        }
    }
}

Voir aussi

Référence

WebPart classe

WebPart - Membres

Microsoft.SharePoint.WebPartPages - Espace de noms