Nous ajoutons trois boutons sur la page et créons des méthodes de gestion des événements pour double-cliquer sur les boutons. Les trois boutons ajoutent du cache ASP.NET en utilisant différentes stratégies d'expiration.
<asp:Button ID="btn_InsertNoExpirationCache" runat="server" Text="Insérer un cache sans expiration"
OnClick="btn_InsertNoExpirationCache_Click" />
<asp:Button ID="btn_InsertAbsoluteExpirationCache" runat="server" Text="Insérer l'heure absolue
Cache d'expiration" OnClick="btn_InsertAbsoluteExpirationCache_Click" />
<asp:Button ID="btn_InsertSlidingExpirationCache" runat="server" Text="Insérer l'heure de modification
Cache d'expiration" OnClick="btn_InsertSlidingExpirationCache_Click" />
Les méthodes de gestion des événements Click des trois boutons sont les suivantes :
protected void btn_InsertNoExpirationCache_Click (expéditeur de l'objet, EventArgs e)
{
DataSetds = GetData();
Cache.Insert("Données", ds);
}
protected void btn_InsertAbsoluteExpirationCache_Click (expéditeur d'objet, EventArgs e)
{
DataSetds = GetData();
Cache.Insert("Données", ds,null, DateTime.Now.AddSeconds(10), TimeSpan.Zero);
}
protected void btn_InsertSlidingExpirationCache_Click (expéditeur d'objet, EventArgs e)
{
DataSetds = GetData();
Cache.Insert("Données", ds, null, DateTime.MaxValue, TimeSpan.FromSeconds(10));
}
Analysons ces trois stratégies d'expiration du cache ASP.NET.
◆N'expire jamais. Attribuez simplement la clé et la valeur mises en cache directement.
◆Expiration du délai absolu. DateTime.Now.AddSeconds(10) signifie que le cache expirera après 10 secondes et TimeSpan.Zero signifie que la stratégie d'expiration en douceur n'est pas utilisée.
◆Expiration du temps de changement (expiration en douceur). DateTime.MaxValue signifie que la politique d'expiration du temps absolu n'est pas utilisée et TimeSpan.FromSeconds(10) signifie que le cache expirera sans accès pendant 10 secondes consécutives.
Ici, nous avons utilisé la méthode Insert() pour ajouter du cache. En fait, Cache dispose également d'une méthode Add() qui peut également ajouter des éléments au cache. La différence est que la méthode Add() ne peut ajouter que des éléments qui ne sont pas dans le cache. Si vous ajoutez un élément qui est déjà dans le cache, il échouera (mais aucune exception ne sera levée), tandis que la méthode Insert(). peut écraser l’élément d’origine.
Remarque : contrairement à Application, il n'est pas nécessaire d'utiliser des opérations de verrouillage lors de l'insertion dans le cache ASP.NET. Le cache gère lui-même la concurrence.