Share via


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)

適用対象