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 インスタンスに通知するために、Cache 実装者によって呼び出されます。

(継承元 ChangeMonitor)
OnChanged(Object)

依存関係が変更されたときにイベントを発生させるために、派生クラスによって呼び出されます。

(継承元 ChangeMonitor)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象