CacheItemRemovedCallback デリゲートとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > CacheItemRemovedCallback デリゲートの意味・解説 

CacheItemRemovedCallback デリゲート

キャッシュされた項目が Cache から削除されたときに、アプリケーション通知するコールバック メソッド定義します

名前空間: System.Web.Caching
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Delegate Sub CacheItemRemovedCallback
 ( _
    key As String, _
    value As Object, _
    reason As CacheItemRemovedReason _
)
Dim instance As New CacheItemRemovedCallback(AddressOf
 HandlerMethod)
public delegate void CacheItemRemovedCallback
 (
    string key,
    Object value,
    CacheItemRemovedReason reason
)
public delegate void CacheItemRemovedCallback
 (
    String^ key, 
    Object^ value, 
    CacheItemRemovedReason reason
)
/** @delegate */
public delegate void CacheItemRemovedCallback
 (
    String key, 
    Object value, 
    CacheItemRemovedReason reason
)
JScript では、デリゲート使用できますが、新規に宣言することはできません。

パラメータ

key

キャッシュから削除されキー

value

キャッシュから削除されキー関連付けられた Object 項目。

reason

CacheItemRemovedReason 列挙体によって指定された、キャッシュから項目が削除され理由

使用例使用例

キャッシュ内の項目に割り当てられた値をユーザー表示し、項目がキャッシュから削除されたときにユーザー通知するページコード例次に示します。このコード例では、CacheItemRemovedCallback デリゲートシグネチャ使用した RemovedCallback メソッド作成してキャッシュ項目が削除されたときにユーザー通知しCacheItemRemovedReason 列挙体を使用してユーザー削除理由通知します。さらに、Cache.Item プロパティ使用してオブジェクトキャッシュ追加し、それらのオブジェクトの値を取得しますAddItemToCache メソッドでは、Cache.Add メソッド使用して、項目をキャッシュ追加しますCacheItemRemovedCallback デリゲート使用するには、このメソッドまたは Cache.Insert メソッド使用して項目をキャッシュ追加し、項目が削除されたときに、ASP.NET適切なメソッド自動的に呼び出すことができるようにする必要がありますカスタム RemoveItemFromCache メソッドは、Cache.Remove メソッド使用して、項目を明示的にキャッシュから削除しますその結果RemovedCallback メソッド呼び出されます。

<%@ Page Language="VB" %>

<html>
 <Script runat=server>
    Shared itemRemoved As boolean
 = false
    Shared reason As CacheItemRemovedReason
    Dim onRemove As CacheItemRemovedCallback

    Public Sub RemovedCallback(k As
 String, v As Object, r
 As CacheItemRemovedReason)
      itemRemoved = true
      reason = r
    End Sub

    Public Sub AddItemToCache(sender As
 Object, e As EventArgs)
        itemRemoved = false

        onRemove = New CacheItemRemovedCallback(AddressOf
 Me.RemovedCallback)

        If (IsNothing(Cache("Key1")))
 Then
          Cache.Add("Key1", "Value
 1", Nothing, DateTime.Now.AddSeconds(60), TimeSpan.Zero,
 CacheItemPriority.High, onRemove)
        End If
    End Sub

    Public Sub RemoveItemFromCache(sender As
 Object, e As EventArgs)
        If (Not IsNothing(Cache("Key1")))
 Then
          Cache.Remove("Key1")
        End If
    End Sub
 </Script>

 <body>
  <Form runat="server">
    <input type=submit OnServerClick="AddItemToCache"
 value="Add Item To Cache" runat="server"/>
    <input type=submit OnServerClick="RemoveItemFromCache"
 value="Remove Item From Cache" runat="server"/>
  </Form>
<%
If (itemRemoved) Then
    Response.Write("RemovedCallback event raised.")
    Response.Write("<BR>")
    Response.Write("Reason: <B>" + reason.ToString()
 + "</B>")
Else
    Response.Write("Value of cache key: <B>"
 + Server.HtmlEncode(CType(Cache("Key1"),String))
 + "</B>")
End If
%>
 </body>
</html>
<html>
 <Script runat=server language="C#">
    static bool itemRemoved = false;
    static CacheItemRemovedReason reason;
    CacheItemRemovedCallback onRemove = null;

    public void RemovedCallback(String k, Object
 v, CacheItemRemovedReason r){
      itemRemoved = true;
      reason = r;
    }

    public void AddItemToCache(Object sender,
 EventArgs e) {
        itemRemoved = false;

        onRemove = new CacheItemRemovedCallback(this.RemovedCallback);

        if (Cache["Key1"] == null)
          Cache.Add("Key1", "Value 1", null,
 DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.High, onRemove);
    }

    public void RemoveItemFromCache(Object
 sender, EventArgs e) {
        if(Cache["Key1"] != null)
          Cache.Remove("Key1");
    }
 </Script>
 <body>
  <Form runat="server">
   <input type=submit OnServerClick="AddItemToCache" value="Add
 Item To Cache" runat="server"/>
   <input type=submit OnServerClick="RemoveItemFromCache" value="Remove
 Item From Cache" runat="server"/>
  </Form>
  <% if (itemRemoved) {
        Response.Write("RemovedCallback event raised.");
        Response.Write("<BR>");
        Response.Write("Reason: <B>" + reason.ToString() + "</B>");
     }
     else {
        Response.Write("Value of cache key: <B>" + Server.HtmlEncode(Cache["Key1"]
 as string) + "</B>");
     }
  %>
 </body>
</html>
<html>
 <Script runat=server language="JScript">

    static var itemRemoved : boolean = false;
    static var reason : CacheItemRemovedReason;
    var onRemove : CacheItemRemovedCallback = null;

    public function RemovedCallback(k : String,
 v : Object, r : CacheItemRemovedReason){
      itemRemoved = true;
      reason = r;
    }

    public function AddItemToCache(sender :
 Object, e : EventArgs) {
        itemRemoved = false;

        onRemove = this.RemovedCallback;

        if (Cache["Key1"] == null)
          Cache.Add("Key1", "Value 1", null,
 DateTime.Now.AddSeconds(10), TimeSpan.Zero, CacheItemPriority.High, onRemove);
    }

    public function RemoveItemFromCache(sender
 : Object, e : EventArgs) {
        if(Cache["Key1"] != null)
          Cache.Remove("Key1");
    }
 </Script>

 <body>
  <Form runat="server">
    <input type=submit OnServerClick="AddItemToCache" value="Add
 Item To Cache" runat="server"/>
    <input type=submit OnServerClick="RemoveItemFromCache" value="Remove
 Item From Cache" runat="server"/>
  </Form>
<%
if (itemRemoved) {
    Response.Write("RemovedCallback event raised.");
    Response.Write("<BR>");
    Response.Write("Reason: <B>" + reason + "</B>");
}
else {
    Response.Write("Value of cache key: <B>" + Server.HtmlEncode(Cache["Key1"].ToString())
 + "</B>");
}
%>

 </body>
</html>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
System.Web.Caching 名前空間
Cache クラス
CacheItemRemovedReason



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「CacheItemRemovedCallback デリゲート」の関連用語

CacheItemRemovedCallback デリゲートのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CacheItemRemovedCallback デリゲートのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS