次の方法で共有


方法 : ファイルの依存関係によるページ出力のキャッシュ

更新 : 2007 年 11 月

ファイルが変更されたときなど、出力キャッシュからページを削除する必要がある場合があります。たとえば、XML ファイルを出力する処理負荷が大きいレポートからコンテンツを取得するページがあるとします。このページは、XML ファイルが変更された場合のみ再処理する必要があります。このような場合のみ再処理するように制限する場合は、ページのキャッシュ ポリシー使用します。必要に応じて、キャッシュされたページを複数のファイルに依存するように設定できます。

67z4z916.alert_note(ja-jp,VS.90).gifメモ :

RemoveOutputCacheItem メソッドを呼び出すと、出力キャッシュから任意のページを明示的に削除できます。このメソッドの呼び出しは、アプリケーションでの必要性に応じて、Global.asax ファイル、カスタム ASP.NET サーバー コントロール、またはページから実行できます。

キャッシュされたページ出力をファイルに依存させるには

  1. キャッシュ対象のページ出力の設定を宣言またはプログラムによって指定します。詳細については、「方法 : ASP.NET ページのキャッシュに有効期限値を設定する」、「ページのキャッシュの設定」、および「ページの複数バージョンのキャッシュ」を参照してください。

  2. ページ コードで AddFileDependency メソッドを呼び出します。メソッドの filename パラメータとして、依存関係を作成するファイルのパスを渡します。

    TextFile1.txt にファイルの依存関係を設定するコード例を次に示します。ファイルが変更されると、ページ出力がキャッシュから削除されます。

    protected void Page_Load(object sender, EventArgs e)
    {
        string fileDependencyPath = Server.MapPath("TextFile1.txt");
        Response.AddFileDependency(fileDependencyPath);
    
        // Set additional properties to enable caching.
        Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
        Response.Cache.SetCacheability(HttpCacheability.Public);
        Response.Cache.SetValidUntilExpires(true);
    }
    
    Protected Sub Page_Load(ByVal sender As Object, _
            ByVal e As EventArgs) Handles Me.Load
        Dim fileDependencyPath As String = _
            Server.MapPath("TextFile1.txt")
        Response.AddFileDependency(fileDependencyPath)
    
        ' Set additional properties to enable caching.
        Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
        Response.Cache.SetCacheability(HttpCacheability.Public)
        Response.Cache.SetValidUntilExpires(True)
    End Sub
    
    67z4z916.alert_note(ja-jp,VS.90).gifメモ :

    ASP.NET ユーザー コントロールからこれらのメソッドを使用することはできません。ただし、@ OutputCache ディレクティブを指定する任意のユーザー コントロールにファイルの依存関係を作成して、Dependency プロパティに割り当てることができます。

キャッシュされたページ出力をファイルのグループに依存させるには

  1. キャッシュ対象のページ出力の設定を宣言またはプログラムによって指定します。詳細については、「方法 : ASP.NET ページのキャッシュに有効期限値を設定する」、「ページのキャッシュの設定」、および「ページの複数バージョンのキャッシュ」を参照してください。

  2. ページ コードで、String 配列またはページを依存させるファイルのパスを含む ArrayList を作成します。

  3. AddFileDependencies メソッドを呼び出し、配列を filenames パラメータとして渡します。

    TextFile1.txt ファイルと XMLFile1.xml ファイルのファイル パスの文字列配列を作成し、ページ出力をこの 2 つのファイルに依存するように設定するコード例を次に示します。いずれかのファイルが変更されると、ページ出力はキャッシュから削除されます。

    protected void Page_Load(object sender, EventArgs e)
    {
        string[] fileDependencies;
        string fileDependency1 = Server.MapPath("TextFile1.txt");
        string fileDependency2 = Server.MapPath("XMLFile1.xml");
        fileDependencies = new String[] { fileDependency1, 
            fileDependency2 };
        Response.AddFileDependencies(fileDependencies);
    }
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim fileDependencies() As String
        Dim fileDependency1 As String = Server.MapPath("TextFile1.txt")
        Dim fileDependency2 As String = Server.MapPath("XMLFile1.xml")
        fileDependencies = New String() {fileDependency1, _
            fileDependency2}
        Response.AddFileDependencies(fileDependencies)
    End Sub
    

参照

処理手順

方法 : ページのキャッシュをプログラムによって設定する

概念

ASP.NET ページのキャッシュ

ページのキャッシュの設定