Wir fügen der Seite drei Schaltflächen hinzu und erstellen Ereignisbehandlungsmethoden zum Doppelklicken auf die Schaltflächen. Die drei Schaltflächen fügen ASP.NET-Cache mithilfe verschiedener Ablaufstrategien hinzu.
<asp:Button ID="btn_InsertNoExpirationCache" runat="server" Text="Niemals ablaufenden Cache einfügen"
OnClick="btn_InsertNoExpirationCache_Click" />
<asp:Button ID="btn_InsertAbsoluteExpirationCache" runat="server" Text="Absolute Zeit einfügen
Ablaufcache“ OnClick="btn_InsertAbsoluteExpirationCache_Click" />
<asp:Button ID="btn_InsertSlidingExpirationCache" runat="server" Text="Änderungszeit einfügen
Ablaufcache“ OnClick="btn_InsertSlidingExpirationCache_Click" />
Die Click-Ereignisbehandlungsmethoden der drei Schaltflächen lauten wie folgt:
protected void btn_InsertNoExpirationCache_Click(object sender, EventArgs e)
{
DataSet ds = GetData();
Cache.Insert("Data", ds);
}
protected void btn_InsertAbsoluteExpirationCache_Click(object sender, EventArgs e)
{
DataSet ds = GetData();
Cache.Insert("Data", ds,null, DateTime.Now.AddSeconds(10), TimeSpan.Zero);
}
protected void btn_InsertSlidingExpirationCache_Click(object sender, EventArgs e)
{
DataSet ds = GetData();
Cache.Insert("Data", ds, null, DateTime.MaxValue, TimeSpan.FromSeconds(10));
}
Lassen Sie uns diese drei ASP.NET-Cache-Ablaufstrategien analysieren.
◆Läuft nie ab. Weisen Sie einfach den zwischengespeicherten Schlüssel und Wert direkt zu.
◆Absoluter Zeitablauf. DateTime.Now.AddSeconds(10) bedeutet, dass der Cache nach 10 Sekunden abläuft, und TimeSpan.Zero bedeutet, dass die Strategie des reibungslosen Ablaufs nicht verwendet wird.
◆Ablauf der Wechselzeit (sanfter Ablauf). DateTime.MaxValue bedeutet, dass die absolute Zeitablaufrichtlinie nicht verwendet wird, und TimeSpan.FromSeconds(10) bedeutet, dass der Cache 10 aufeinanderfolgende Sekunden lang ohne Zugriff abläuft.
Hier haben wir die Methode Insert() verwendet, um Cache hinzuzufügen. Tatsächlich verfügt Cache auch über eine Add()-Methode, mit der auch Elemente zum Cache hinzugefügt werden können. Der Unterschied besteht darin, dass die Add()-Methode nur Elemente hinzufügen kann, die sich nicht im Cache befinden. Wenn Sie ein Element hinzufügen, das sich bereits im Cache befindet, schlägt dies fehl (aber es wird keine Ausnahme ausgelöst), während die Insert()-Methode kann das Originalelement überschreiben.
Hinweis: Im Gegensatz zu Application müssen beim Einfügen in den ASP.NET-Cache keine Sperrvorgänge verwendet werden, da dies die Parallelität selbst übernimmt.