Comparteix a través de


FileChangeMonitor Clase

Definición

Representa un objeto que supervisa los cambios realizados en los archivos.

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
Herencia
FileChangeMonitor
Derivado

Ejemplos

En el ejemplo siguiente se muestra cómo crear un elemento de caché que usa un HostFileChangeMonitor objeto para supervisar el estado de los datos de origen (un archivo) en el sistema de archivos. La clase HostFileChangeMonitor hereda de la clase FileChangeMonitor. La entrada de caché se define mediante un CacheItemPolicy objeto que proporciona detalles de expulsión y expiración para la entrada de caché.

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

Comentarios

La FileChangeMonitor clase es un tipo base ChangeMonitor para las clases que supervisan los cambios en los archivos. Para crear un monitor para los cambios en el sistema de archivos, puede heredar de esta clase.

Notas a los implementadores

Para obtener información sobre el contrato de herencia que se debe seguir, consulte la sección Notes for Inheritors en la información general de la ChangeMonitor clase.

Constructores

FileChangeMonitor()

Inicializa una nueva instancia de la clase FileChangeMonitor. Los constructores de clases derivadas llaman a este constructor para inicializar la clase base.

Propiedades

FilePaths

Obtiene una colección que contiene las rutas de acceso de los archivos cuyos cambios se supervisan.

HasChanged

Obtiene un valor que indica que el estado supervisado por la clase ChangeMonitor ha cambiado.

(Heredado de ChangeMonitor)
IsDisposed

Obtiene un valor que indica que se elimina la instancia derivada de una clase ChangeMonitor.

(Heredado de ChangeMonitor)
LastModified

Obtiene un valor que indica la última vez que se cambió un archivo que se supervisa.

UniqueId

Obtiene un valor que representa una instancia de la clase ChangeMonitor.

(Heredado de ChangeMonitor)

Métodos

Dispose()

Libera todos los recursos utilizados por la instancia actual de la clase ChangeMonitor.

(Heredado de ChangeMonitor)
Dispose(Boolean)

Libera todos los recursos administrados y no administrados así como todas las referencias a la instancia de ChangeMonitor. Esta sobrecarga la deben implementar las clases de supervisión de cambios derivadas.

(Heredado de ChangeMonitor)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializationComplete()

Este método lo invoca el constructor de clases derivadas para indicar que ha finalizado la inicialización.

(Heredado de ChangeMonitor)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
NotifyOnChanged(OnChangedCallback)

Lo llaman los implementadores de memoria caché para registrar una devolución de llamada y notificar a una instancia de ObjectCache a través del delegado OnChangedCallback cuando una dependencia ha cambiado.

(Heredado de ChangeMonitor)
OnChanged(Object)

Este método lo invocan las clases derivadas para generar el evento cuando cambia una dependencia.

(Heredado de ChangeMonitor)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a