FileChangeMonitor Класс

Определение

Представляет объект, отслеживающий изменения файлов.

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
Наследование
FileChangeMonitor
Производный

Примеры

В следующем примере показано, как создать элемент кэша, использующий HostFileChangeMonitor объект для мониторинга состояния исходных данных (файла) в файловой системе. Класс HostFileChangeMonitor наследует от класса FileChangeMonitor. Запись кэша определяется с помощью CacheItemPolicy объекта, который предоставляет сведения о вытеснениях и истечении срока действия для записи кэша.

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

Комментарии

Класс FileChangeMonitor — это базовый ChangeMonitor тип для классов, отслеживающих изменения файлов. Чтобы создать монитор для изменений в файловой системе, можно наследовать от этого класса.

Примечания для тех, кто реализует этот метод

Сведения о контракте наследования, который необходимо следовать, см. в разделе "Заметки для наследующих" в обзоре ChangeMonitor класса.

Конструкторы

Имя Описание
FileChangeMonitor()

Инициализирует новый экземпляр класса FileChangeMonitor. Этот конструктор вызывается из конструкторов в производных классах, чтобы инициализировать базовый класс.

Свойства

Имя Описание
FilePaths

Возвращает коллекцию, содержащую пути файлов, отслеживаемых для изменений.

HasChanged

Возвращает значение, указывающее, что состояние, отслеживаемое классом ChangeMonitor , изменилось.

(Унаследовано от ChangeMonitor)
IsDisposed

Возвращает значение, указывающее, что производный экземпляр ChangeMonitor класса удаляется.

(Унаследовано от ChangeMonitor)
LastModified

Возвращает значение, указывающее время последнего изменения файла, отслеживаемого.

UniqueId

Возвращает значение, представляющее ChangeMonitor экземпляр класса.

(Унаследовано от ChangeMonitor)

Методы

Имя Описание
Dispose()

Освобождает все ресурсы, используемые текущим экземпляром ChangeMonitor класса.

(Унаследовано от ChangeMonitor)
Dispose(Boolean)

Освобождает все управляемые и неуправляемые ресурсы и все ссылки на ChangeMonitor экземпляр. Эта перегрузка должна быть реализована производными классами монитора изменений.

(Унаследовано от ChangeMonitor)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
InitializationComplete()

Вызывается из конструктора производных классов, чтобы указать, что инициализация завершена.

(Унаследовано от ChangeMonitor)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
NotifyOnChanged(OnChangedCallback)

Вызывается средствами реализации кэша для регистрации обратного вызова и уведомления ObjectCache экземпляра через OnChangedCallback делегат при изменении зависимости.

(Унаследовано от ChangeMonitor)
OnChanged(Object)

Вызывается производными классами для вызова события при изменении зависимости.

(Унаследовано от ChangeMonitor)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к