CacheItemPriority 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定存储在 Cache 对象中的项的相对优先级。
public enum class CacheItemPriority
public enum CacheItemPriority
type CacheItemPriority =
Public Enum CacheItemPriority
- 继承
字段
| 名称 | 值 | 说明 |
|---|---|---|
| Low | 1 | 具有此优先级的缓存项最有可能从缓存中删除,因为服务器释放系统内存。 |
| BelowNormal | 2 | 当服务器释放系统内存时,具有此优先级的缓存项更有可能从缓存中删除,而不是分配 Normal 优先级的项。 |
| Default | 3 | 缓存项的优先级的默认值为 Normal。 |
| Normal | 3 | 缓存具有此优先级的项可能会从缓存中删除,因为服务器仅在具有 Low 或 BelowNormal 优先级的项之后释放系统内存。 这是默认值。 |
| AboveNormal | 4 | 当服务器释放系统内存时,具有此优先级的缓存项不太可能被删除,而不是分配 Normal 了优先级的缓存项。 |
| High | 5 | 具有此优先级的缓存项不太可能从缓存中删除,因为服务器释放系统内存。 |
| 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 应用程序的 Web 服务器内存不足时,Cache 对象选择性地清除项目以释放系统内存。 将项添加到缓存中时,可以将其分配相对于缓存中存储的其他项的相对优先级。 当服务器处理大量请求时,向缓存中分配较高优先级值的项不太可能从缓存中删除,而分配给较低优先级值的项更有可能被删除。 默认值为 Normal。
注释
无论项的缓存优先级如何,始终都可以以编程方式从缓存中删除。