FileChangeMonitor クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ファイルへの変更を監視するオブジェクトを表します。
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 インスタンスに通知するために、Cache 実装者によって呼び出されます。 (継承元 ChangeMonitor) |
| OnChanged(Object) |
依存関係が変更されたときにイベントを発生させるために、派生クラスによって呼び出されます。 (継承元 ChangeMonitor) |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |