CacheItemPriority Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает относительный приоритет элементов, хранящихся в объектеCache.
public enum class CacheItemPriority
public enum CacheItemPriority
type CacheItemPriority =
Public Enum 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
.
Примечание
Элементы всегда можно удалить из кэша программным способом, независимо от их приоритета в кэше.