Agregamos tres botones en la página y creamos métodos de manejo de eventos para hacer doble clic en los botones. Los tres botones agregan caché ASP.NET usando diferentes estrategias de caducidad.
<asp:Button ID="btn_InsertNoExpirationCache" runat="server" Text="Insertar caché sin caducidad"
OnClick="btn_InsertNoExpirationCache_Click" />
<asp:Button ID="btn_InsertAbsoluteExpirationCache" runat="server" Text="Insertar hora absoluta
Caché de caducidad" OnClick="btn_InsertAbsoluteExpirationCache_Click" />
<asp:Button ID="btn_InsertSlidingExpirationCache" runat="server" Text="Insertar hora de cambio
Caché de caducidad" OnClick="btn_InsertSlidingExpirationCache_Click" />
Los métodos de manejo de eventos Click de los tres botones son los siguientes:
void protegido btn_InsertNoExpirationCache_Click (remitente del objeto, EventArgs e)
{
Conjunto de datos ds = GetData();
Cache.Insert("Datos", ds);
}
void protegido btn_InsertAbsoluteExpirationCache_Click (remitente del objeto, EventArgs e)
{
Conjunto de datos ds = GetData();
Cache.Insert("Datos", ds,null, DateTime.Now.AddSeconds(10), TimeSpan.Zero);
}
void protegido btn_InsertSlidingExpirationCache_Click (remitente del objeto, EventArgs e)
{
Conjunto de datos ds = GetData();
Cache.Insert("Datos", ds, nulo, DateTime.MaxValue, TimeSpan.FromSeconds(10));
}
Analicemos estas tres estrategias de caducidad de caché de ASP.NET.
◆Nunca caduca. Simplemente asigne la clave y el valor almacenados en caché directamente.
◆ Vencimiento del tiempo absoluto. DateTime.Now.AddSeconds(10) significa que el caché caducará después de 10 segundos y TimeSpan.Zero significa que no se utiliza la estrategia de caducidad suave.
◆Expiración del tiempo de cambio (expiración suave). DateTime.MaxValue significa que no se utiliza la política de vencimiento de tiempo absoluto y TimeSpan.FromSeconds (10) significa que el caché caducará sin acceso durante 10 segundos consecutivos.
Aquí, hemos utilizado el método Insert() para agregar caché. De hecho, Cache también tiene un método Add() que también puede agregar elementos al caché. La diferencia es que el método Add() solo puede agregar elementos que no están en el caché. Si agrega un elemento que ya está en el caché, fallará (pero no se generará ninguna excepción), mientras que el método Insert(). Puede sobrescribir el elemento original.
Nota: A diferencia de la aplicación, no es necesario utilizar operaciones de bloqueo cuando la inserción en la caché de ASP.NET manejará la concurrencia por sí sola.