Condividi tramite


FileChangeMonitor Classe

Definizione

Rappresenta un oggetto che monitora le modifiche apportate ai file.

public ref class FileChangeMonitor abstract : System::Runtime::Caching::ChangeMonitor
public abstract class FileChangeMonitor : System.Runtime.Caching.ChangeMonitor
type FileChangeMonitor = class
    inherit ChangeMonitor
Public MustInherit Class FileChangeMonitor
Inherits ChangeMonitor
Ereditarietà
FileChangeMonitor
Derivato

Esempio

Nell'esempio seguente viene illustrato come creare un elemento della cache che usa un HostFileChangeMonitor oggetto per monitorare lo stato dei dati di origine (un file) nel file system. La classe HostFileChangeMonitor eredita dalla classe FileChangeMonitor. La voce della cache viene definita usando un CacheItemPolicy oggetto che fornisce i dettagli di rimozione e scadenza per la voce della cache.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Runtime.Caching;
using System.IO;

public partial class _Default : System.Web.UI.Page
{

    protected void Button1_Click1(object sender, EventArgs e)
    {
        ObjectCache cache = MemoryCache.Default;
        string fileContents = cache["filecontents"] as string;

        if (fileContents == null)
        {
            CacheItemPolicy policy = new CacheItemPolicy();
            policy.AbsoluteExpiration =
                DateTimeOffset.Now.AddSeconds(10.0);

            List<string> filePaths = new List<string>();
            string cachedFilePath = Server.MapPath("~") +
                "\\cacheText.txt";

            filePaths.Add(cachedFilePath);

            policy.ChangeMonitors.Add(new
                HostFileChangeMonitor(filePaths));

            // Fetch the file contents.
            fileContents = File.ReadAllText(cachedFilePath) + "\n"
                + DateTime.Now.ToString();

            cache.Set("filecontents", fileContents, policy);
        }

        Label1.Text = fileContents;
    }
}
Imports System.Runtime.Caching
Imports System.IO

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, _
            ByVal e As System.EventArgs) Handles Button1.Click
        Dim cache As ObjectCache = MemoryCache.Default
        Dim fileContents As String = TryCast(cache("filecontents"), _
            String)
        If fileContents Is Nothing Then
            Dim policy As New CacheItemPolicy()
            policy.AbsoluteExpiration = _
                DateTimeOffset.Now.AddSeconds(10.0)
            Dim filePaths As New List(Of String)()
            Dim cachedFilePath As String = Server.MapPath("~") & _
                "\cacheText.txt"
            filePaths.Add(cachedFilePath)
            policy.ChangeMonitors.Add(New  _
                HostFileChangeMonitor(filePaths))

            ' Fetch the file contents.
            fileContents = File.ReadAllText(cachedFilePath) & _
                vbCrLf & DateTime.Now.ToString()
            cache.Set("filecontents", fileContents, policy)
        End If
        Label1.Text = fileContents
    End Sub

End Class

Commenti

La FileChangeMonitor classe è un tipo di base ChangeMonitor per le classi che monitorano le modifiche apportate ai file. Per creare un monitoraggio delle modifiche nel file system, è possibile ereditare da questa classe.

Note per gli implementatori

Per informazioni sul contratto di ereditarietà che deve essere seguito, vedere la sezione Notes for Inheritors nella panoramica della ChangeMonitor classe.

Costruttori

FileChangeMonitor()

Inizializza una nuova istanza della classe FileChangeMonitor. Questo costruttore viene chiamato da costruttori in classi derivate per inizializzare la classe base.

Proprietà

FilePaths

Ottiene un insieme contenente percorsi di file di cui si monitorano le modifiche.

HasChanged

Ottiene un valore che indica che lo stato monitorato dalla classe ChangeMonitor è stato modificato.

(Ereditato da ChangeMonitor)
IsDisposed

Ottiene un valore che indica che viene eliminata un'istanza derivata di una classe ChangeMonitor.

(Ereditato da ChangeMonitor)
LastModified

Ottiene un valore che indica l'ultima volta in cui un file monitorato è stato modificato.

UniqueId

Ottiene un valore che rappresenta l'istanza della classe ChangeMonitor.

(Ereditato da ChangeMonitor)

Metodi

Dispose()

Rilascia tutte le risorse usate dall'istanza corrente della classe ChangeMonitor.

(Ereditato da ChangeMonitor)
Dispose(Boolean)

Rilascia tutte le risorse gestite e non gestite ed eventuali riferimenti all'istanza di ChangeMonitor. Questo overload deve essere implementato dalle classi derivate di monitoraggio delle modifiche.

(Ereditato da ChangeMonitor)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
InitializationComplete()

Chiamato dal costruttore di classi derivate per indicare che l'inizializzazione è terminata.

(Ereditato da ChangeMonitor)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
NotifyOnChanged(OnChangedCallback)

Chiamato dalle implementazioni della cache per registrare un callback e notificare a un'istanza ObjectCache tramite il delegato OnChangedCallback quando una dipendenza viene modificata.

(Ereditato da ChangeMonitor)
OnChanged(Object)

Chiamato dalle classi derivate per generare l'evento quando viene modificata una dipendenza.

(Ereditato da ChangeMonitor)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a