CacheItemRemovedCallback Délégué
Définition
public delegate void CacheItemRemovedCallback(System::String ^ key, System::Object ^ value, CacheItemRemovedReason reason);
public delegate void CacheItemRemovedCallback(string key, object value, CacheItemRemovedReason reason);
type CacheItemRemovedCallback = delegate of string * obj * CacheItemRemovedReason -> unit
Public Delegate Sub CacheItemRemovedCallback(key As String, value As Object, reason As CacheItemRemovedReason)
Paramètres
- key
- String
Clé supprimée du cache.The key that is removed from the cache.
- value
- Object
Élément Object associé à la clé supprimée du cache.The Object item associated with the key removed from the cache.
- reason
- CacheItemRemovedReason
Raison pour laquelle l'élément a été supprimé du cache, spécifiée par l'énumération CacheItemRemovedReason.The reason the item was removed from the cache, as specified by the CacheItemRemovedReason enumeration.
- Héritage
Exemples
L’exemple de code suivant montre une page qui affiche les utilisateurs de la valeur affectée à un élément du cache, puis les notifie lorsque l’élément est supprimé du cache.The following code example demonstrates a page that shows users the value assigned to an item in the cache and then notifies them when the item is removed from the cache. Elle crée une RemovedCallback
méthode, qui utilise la signature du CacheItemRemovedCallback délégué, pour avertir les utilisateurs lorsque l’élément du cache est supprimé et utilise l' CacheItemRemovedReason énumération pour leur indiquer pourquoi elle a été supprimée.It creates a RemovedCallback
method, which uses the signature of the CacheItemRemovedCallback delegate, to notify users when the cache item is removed and uses the CacheItemRemovedReason enumeration to tell them why it was removed. En outre, il utilise la Cache.Item[] propriété pour ajouter des objets au cache et récupérer la valeur de ces objets.In addition, it uses the Cache.Item[] property to add objects to the cache and retrieve the value of those objects. Dans la AddItemToCache
méthode, elle utilise la Cache.Add méthode pour ajouter un élément au cache.In the AddItemToCache
method, it uses the Cache.Add method to add an item to the cache. Pour utiliser le CacheItemRemovedCallback délégué, vous devez ajouter un élément au cache avec cette méthode ou la Cache.Insert méthode afin que ASP.NET puisse effectuer automatiquement les appels de méthode appropriés lorsque l’élément est supprimé.To use the CacheItemRemovedCallback delegate, you must add an item to the cache with this method or the Cache.Insert method so that ASP.NET can automatically make the proper method calls when the item is removed. La RemoveItemFromCache
méthode personnalisée utilise la Cache.Remove méthode pour supprimer explicitement l’élément du cache, ce qui provoque l’appel de la RemovedCallback
méthode.The custom RemoveItemFromCache
method uses the Cache.Remove method to explicitly delete the item from the cache, causing the RemovedCallback
method to be invoked.
<html>
<Script runat=server language="C#">
// <snippet2>
static bool itemRemoved = false;
static CacheItemRemovedReason reason;
CacheItemRemovedCallback onRemove = null;
public void RemovedCallback(String k, Object v, CacheItemRemovedReason r){
itemRemoved = true;
reason = r;
}
// </snippet2>
// <snippet3>
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), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
}
// </snippet3>
// <snippet4>
public void RemoveItemFromCache(Object sender, EventArgs e) {
if(Cache["Key1"] != null)
Cache.Remove("Key1");
}
// </snippet4>
</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 {
// <snippet5>
Response.Write("Value of cache key: <B>" + Server.HtmlEncode(Cache["Key1"] as string) + "</B>");
// </snippet5>
}
%>
</body>
</html>
<%@ Page Language="VB" %>
<html>
<Script runat=server>
' <snippet2>
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
' </snippet2>
' <snippet3>
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), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove)
End If
End Sub
' </snippet3>
' <snippet4>
Public Sub RemoveItemFromCache(sender As Object, e As EventArgs)
If (Not IsNothing(Cache("Key1"))) Then
Cache.Remove("Key1")
End If
End Sub
' </snippet4>
</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
' <snippet5>
Response.Write("Value of cache key: <B>" + Server.HtmlEncode(CType(Cache("Key1"),String)) + "</B>")
' </snippet5>
End If
%>
</body>
</html>
Méthodes d’extension
GetMethodInfo(Delegate) |
Obtient un objet qui représente la méthode représentée par le délégué spécifié.Gets an object that represents the method represented by the specified delegate. |