Поделиться через


CacheItemPriority Перечисление

Определение

Указывает относительный приоритет элементов, хранящихся в объектеCache.

public enum class CacheItemPriority
public enum CacheItemPriority
type CacheItemPriority = 
Public Enum CacheItemPriority
Наследование
CacheItemPriority

Поля

AboveNormal 4

Элементы кэш-памяти с этим уровнем приоритета имеют меньшую вероятность удаления при освобождении системной памяти сервером чем те, которым назначен приоритет Normal.

BelowNormal 2

Элементы кэш-памяти с этим уровнем приоритета, имеют большую вероятность быть удаленными при освобождении системной памяти сервером чем те, которым назначен приоритет Normal.

Default 3

Значением приоритета по умолчанию для элементов кэш-памяти является Normal.

High 5

Элементы кэш-памяти с этим уровнем приоритета имеют наименьшую вероятность быть удаленными из кэш-памяти при освобождении сервером системной памяти.

Low 1

Элементы кэш-памяти с этим уровнем приоритета имеют наибольшую вероятность быть удаленными из кэш-памяти при освобождении сервером системной памяти.

Normal 3

Элементы кэш-памяти с этим уровнем приоритета скорее всего будут удалены при освобождении системной памяти сервером после тех элементов, которым назначен приоритет Lowили BelowNormal. Это значение по умолчанию.

NotRemovable 6

Элементы кэш-памяти с этим уровнем приоритета не будут автоматически удалены из кэш-памяти при освобождении системной памяти сервером. Однако, элементы с этим уровнем приоритета удаляются вместе с другими элементами в соответствии с абсолютным или скользящим сроком действия.

Примеры

В следующем примере метод используется Cache.Insert для добавления элемента в Cache объект с priority его параметром , равным 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>

Комментарии

Когда на веб-сервере, на котором размещено приложение ASP.NET, недостаточно памяти, Cache объект выборочно очищает элементы, чтобы освободить системную память. При добавлении элемента в кэш можно назначить ему относительный приоритет по сравнению с другими элементами, хранящимися в кэше. Элементы, которым назначаются значения с более высоким приоритетом, с меньшей вероятностью будут удалены из кэша, когда сервер обрабатывает большое количество запросов, тогда как элементы, которым назначены значения более низкого приоритета, с большей вероятностью будут удалены. Значение по умолчанию — Normal.

Примечание

Элементы всегда можно удалить из кэша программным способом, независимо от их приоритета в кэше.

Применяется к

См. также раздел