CacheItemPriority Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica la priorità relativa degli elementi archiviati nell'oggetto Cache.
public enum class CacheItemPriority
public enum CacheItemPriority
type CacheItemPriority =
Public Enum CacheItemPriority
- Ereditarietà
Campi
AboveNormal | 4 | Gli elementi con questo livello di priorità hanno meno probabilità di essere cancellati quando il server libera memoria di sistema rispetto a quelli a cui è assegnata una priorità Normal. |
BelowNormal | 2 | Gli elementi con questo livello di priorità hanno più probabilità di essere cancellati dalla cache quando il server libera memoria di sistema rispetto a quelli a cui è assegnata una priorità Normal. |
Default | 3 | Il livello di priorità predefinito per gli elementi nella cache è Normal. |
High | 5 | Gli elementi nella cache a cui è associato questo livello di priorità sono quelli che vengono eliminati per ultimi quando il server libera memoria di sistema. |
Low | 1 | Gli elementi nella cache a cui è associato questo livello di priorità vengono eliminati per primi quando il server libera memoria di sistema. |
Normal | 3 | Qualora il server abbia necessità di liberare memoria di sistema, gli elementi con questo livello di priorità in genere vengono cancellati dalla cache solo dopo quelli con priorità Low o BelowNormal. Questa è l'impostazione predefinita. |
NotRemovable | 6 | Gli elementi con questo livello di priorità non verranno eliminati automaticamente dalla cache quando il server libera memoria di sistema. Tuttavia, gli elementi con questo livello di priorità vengono rimossi insieme agli altri elementi in base alla relativa scadenza assoluta o variabile. |
Esempio
Nell'esempio seguente viene usato il metodo per aggiungere un elemento all'oggetto con il Cache.InsertCache relativo priority
parametro impostato su High
:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="c#" runat="server">
public void Page_Load(Object sender, EventArgs e) {
String connectionString;
connectionString = "Data Source=localhost;Integrated Security=SSPI";
Cache.Insert("DSN", connectionString, null, DateTime.Now.AddMinutes(2), TimeSpan.Zero, CacheItemPriority.High, null);
}
</script>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub Page_Load(sender As Object, e As EventArgs)
Dim connectionString As String
connectionString = "Data Source=localhost;Integrated Security=SSPI"
Cache.Insert("DSN", connectionString, Nothing, DateTime.Now.AddMinutes(2), TimeSpan.Zero, CacheItemPriority.High, Nothing)
End Sub
</script>
Commenti
Quando il server Web che ospita un'applicazione ASP.NET viene eseguito in memoria insufficiente, l'oggetto Cache elimina in modo selettivo gli elementi per liberare memoria di sistema. Quando un elemento viene aggiunto alla cache, è possibile assegnarlo una priorità relativa rispetto agli altri elementi archiviati nella cache. È meno probabile che gli elementi a cui si assegnano valori di priorità più elevati vengano eliminati dalla cache quando il server elabora un numero elevato di richieste, mentre gli elementi a cui si assegnano valori di priorità inferiori sono più probabilità di essere eliminati. Il valore predefinito è Normal
.
Nota
Gli elementi possono sempre essere rimossi dalla cache a livello di codice, indipendentemente dalla priorità della cache.