共用方式為


WebPart.PartCacheInvalidate method (Storage)

標記為過期的網頁組件快取中輸入指定的存放區的所有內容。

Namespace:  Microsoft.SharePoint.WebPartPages
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'宣告
Protected Friend Sub PartCacheInvalidate ( _
    storage As Storage _
)
'用途
Dim storage As Storage

Me.PartCacheInvalidate(storage)
protected internal void PartCacheInvalidate(
    Storage storage
)

參數

備註

呼叫PartCacheInvalidate(Storage)方法傳遞Storage值會標示為過期的網頁組件快取中指定的儲存體類型的所有內容。呼叫**[M:Microsoft.SharePoint.WebPartPages.WebPart.PartCacheInvalidate()]**方法來標示所有為過期的網頁組件快取的內容。呼叫PartCacheInvalidate(Storage, String)方法,標示只指定快取的值為過期的網頁組件快取中指定之的儲存類型。

Examples

下列程式碼範例會顯示網頁組件快取,並顯示時先呈現,並提供按鈕來重新整理目前時間的網頁組件快取的時間。

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

請參閱

參照

WebPart class

WebPart members

PartCacheInvalidate overload

Microsoft.SharePoint.WebPartPages namespace