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
- Наследование
- Производный
Примеры
В следующем примере показано, как создать элемент кэша, использующий 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) |