FileChangeMonitor Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje objekt, který monitoruje změny souborů.
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
- Dědičnost
- Odvozené
Příklady
Následující příklad ukazuje, jak vytvořit položku mezipaměti, která používá HostFileChangeMonitor objekt ke sledování stavu zdrojových dat (soubor) v systému souborů. Třída HostFileChangeMonitor dědí z FileChangeMonitor třídy. Položka mezipaměti je definována pomocí objektu CacheItemPolicy , který poskytuje podrobnosti vyřazení a vypršení platnosti položky mezipaměti.
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
Poznámky
Třída FileChangeMonitor je základní ChangeMonitor typ pro třídy, které monitorují změny souborů. Chcete-li vytvořit monitorování změn v systému souborů, můžete dědit z této třídy.
Poznámky pro implementátory
Informace o kontraktu dědičnosti, který je třeba dodržovat, naleznete v části Poznámky pro dědiče v přehledu ChangeMonitor třídy.
Konstruktory
| Name | Description |
|---|---|
| FileChangeMonitor() |
Inicializuje novou instanci FileChangeMonitor třídy. Tento konstruktor je volán z konstruktorů v odvozených třídách za účelem inicializace základní třídy. |
Vlastnosti
| Name | Description |
|---|---|
| FilePaths |
Získá kolekci obsahující cesty k souborům, které jsou monitorovány pro změny. |
| HasChanged |
Získá hodnotu, která označuje, že stav monitorovaný ChangeMonitor třídou se změnil. (Zděděno od ChangeMonitor) |
| IsDisposed |
Získá hodnotu, která označuje, že odvozená instance ChangeMonitor třídy je uvolněna. (Zděděno od ChangeMonitor) |
| LastModified |
Získá hodnotu, která označuje poslední, kdy byl změněn soubor, který je monitorován. |
| UniqueId |
Získá hodnotu, která představuje ChangeMonitor instanci třídy. (Zděděno od ChangeMonitor) |
Metody
| Name | Description |
|---|---|
| Dispose() |
Uvolní všechny prostředky, které používají aktuální instance ChangeMonitor třídy. (Zděděno od ChangeMonitor) |
| Dispose(Boolean) |
Uvolní všechny spravované a nespravované prostředky a všechny odkazy na ChangeMonitor instanci. Toto přetížení musí být implementováno odvozenými třídami sledování změn. (Zděděno od ChangeMonitor) |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| InitializationComplete() |
Volána z konstruktoru odvozených tříd k označení, že inicializace je dokončena. (Zděděno od ChangeMonitor) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| NotifyOnChanged(OnChangedCallback) |
Volání implementátorů mezipaměti k registraci zpětného volání a upozorňovat ObjectCache instanci prostřednictvím delegáta OnChangedCallback , když se závislost změnila. (Zděděno od ChangeMonitor) |
| OnChanged(Object) |
Volá se odvozenými třídami pro vyvolání události při změně závislosti. (Zděděno od ChangeMonitor) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |