Compartilhar via


FileChangeMonitor Classe

Definição

Representa um objeto que monitora alterações nos arquivos.

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
Herança
FileChangeMonitor
Derivado

Exemplos

O exemplo a seguir mostra como criar um item de cache que usa um HostFileChangeMonitor objeto para monitorar o estado dos dados de origem (um arquivo) no sistema de arquivos. A classe HostFileChangeMonitor herda da classe FileChangeMonitor. A entrada de cache é definida usando um CacheItemPolicy objeto que fornece detalhes de remoção e expiração para a entrada de 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

Comentários

A FileChangeMonitor classe é um tipo base ChangeMonitor para classes que monitoram alterações em arquivos. Para criar um monitor para alterações no sistema de arquivos, você pode herdar dessa classe.

Notas aos Implementadores

Para obter informações sobre o contrato de herança que deve ser seguido, consulte a seção Anotações para Herdadores na visão geral da ChangeMonitor classe.

Construtores

FileChangeMonitor()

Inicializa uma nova instância da classe FileChangeMonitor. Esse construtor é chamado de construtores em classes derivadas para inicializar a classe base.

Propriedades

FilePaths

Obtém uma coleção que contém os caminhos dos arquivos que são monitorados para alterações.

HasChanged

Obtém um valor que indica que o estado monitorado pela classe ChangeMonitor foi alterado.

(Herdado de ChangeMonitor)
IsDisposed

Obtém um valor que indica que a instância derivada de uma classe ChangeMonitor foi descartada.

(Herdado de ChangeMonitor)
LastModified

Obtém um valor que indica a última vez que um arquivo que está sendo monitorado foi alterado.

UniqueId

Obtém um valor que representa a instância da classe ChangeMonitor.

(Herdado de ChangeMonitor)

Métodos

Dispose()

Libera todos os recursos usados pela instância atual da classe ChangeMonitor.

(Herdado de ChangeMonitor)
Dispose(Boolean)

Libera todos os recursos gerenciados e não gerenciados e todas as referências à instância de ChangeMonitor. Essa sobrecarga deve ser implementada por classes de monitor de alteração derivadas.

(Herdado de ChangeMonitor)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializationComplete()

Chamado do construtor de classes derivadas para indicar que a inicialização foi concluída.

(Herdado de ChangeMonitor)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
NotifyOnChanged(OnChangedCallback)

Chamado pelos implementadores de cache para registrar um retorno de chamada e notificar uma instância de ObjectCache por meio do delegado de OnChangedCallback quando uma dependência tiver sido alterada.

(Herdado de ChangeMonitor)
OnChanged(Object)

Chamado por classes derivadas para gerar o evento quando uma dependência é alterada.

(Herdado de ChangeMonitor)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a