Cache.Insert 方法

定义

将项插入到对象中 Cache 。 使用此方法的某个版本来覆盖具有相同Cache参数的现有key项。

重载

名称 说明
Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

将对象 Cache 插入到具有依赖项、过期和优先级策略的对象中,以及一个委托,可用于在从 Cache中删除插入的项时通知应用程序。

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback)

将对象 Cache 与依赖项、过期策略和委托一起插入对象,该委托可用于在从缓存中删除项之前通知应用程序。

Insert(String, Object, CacheDependency)

将对象插入具有文件或密钥依赖项的对象 Cache

Insert(String, Object)

使用枚举提供的Cache默认值,使用缓存键将项CacheItemPriority插入到对象中以引用其位置。

Insert(String, Object, CacheDependency, DateTime, TimeSpan)

使用依赖项和过期策略将对象 Cache 插入其中。

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)

将对象 Cache 插入到具有依赖项、过期和优先级策略的对象中,以及一个委托,可用于在从 Cache中删除插入的项时通知应用程序。

public:
 void Insert(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System::Web::Caching::CacheItemPriority priority, System::Web::Caching::CacheItemRemovedCallback ^ onRemoveCallback);
public void Insert(string key, object value, System.Web.Caching.CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System.Web.Caching.CacheItemPriority priority, System.Web.Caching.CacheItemRemovedCallback onRemoveCallback);
member this.Insert : string * obj * System.Web.Caching.CacheDependency * DateTime * TimeSpan * System.Web.Caching.CacheItemPriority * System.Web.Caching.CacheItemRemovedCallback -> unit
Public Sub Insert (key As String, value As Object, dependencies As CacheDependency, absoluteExpiration As DateTime, slidingExpiration As TimeSpan, priority As CacheItemPriority, onRemoveCallback As CacheItemRemovedCallback)

参数

key
String

用于引用对象的缓存键。

value
Object

要插入缓存中的对象。

dependencies
CacheDependency

项的文件或缓存密钥依赖项。 当任何依赖项发生更改时,对象将变为无效,并从缓存中删除。 如果没有依赖项,则此参数包含 null

absoluteExpiration
DateTime

插入的对象过期并从缓存中删除的时间。 若要避免本地时间可能出现的问题,例如从标准时间更改为夏令时,请使用 UtcNow 此参数值而不是 Now 此参数值。 如果使用绝对过期,则 slidingExpiration 参数必须是 NoSlidingExpiration

slidingExpiration
TimeSpan

上次访问插入对象的时间与该对象过期时间之间的间隔。 如果此值等效于 20 分钟,则对象将在上次访问后 20 分钟从缓存中删除。 如果使用滑动过期,则 absoluteExpiration 参数必须为 NoAbsoluteExpiration

priority
CacheItemPriority

对象相对于缓存中存储的其他项的成本,由 CacheItemPriority 枚举表示。 当缓存逐出对象时,此值由缓存使用;在成本较高的对象之前,会从缓存中删除成本较低的对象。

onRemoveCallback
CacheItemRemovedCallback

从缓存中删除对象时,将调用该委托(如果提供)。 当应用程序从缓存中删除其对象时,可以使用此功能通知应用程序。

例外

keyvalue参数为 null.

将参数设置为 slidingExpiration 小于 TimeSpan.Zero 或等效于一年。

同时absoluteExpiration为要添加到的slidingExpiration项设置参数和Cache参数。

示例

以下示例演示如何在将项插入应用程序 Cache 对象时分配高优先级项。

注释

有关如何将此方法与委托一起使用 CacheItemRemovedCallback 的详细信息,请参阅 How to: Notify an Application When an Item Is Removed from the Cache.

Cache.Insert("DSN", connectionString, null, DateTime.Now.AddMinutes(2), TimeSpan.Zero, CacheItemPriority.High, onRemove);

Cache.Insert("DSN", connectionString, Nothing, DateTime.Now.AddMinutes(2), TimeSpan.Zero, CacheItemPriority.High, onRemove)

注解

此方法将覆盖具有相同Cache参数的现有key项。

不能同时设置 absoluteExpirationslidingExpiration 参数。 如果希望缓存项在特定时间过期,请将参数设置为 absoluteExpiration 特定时间,并将 slidingExpiration 参数设置为 NoSlidingExpiration

如果希望缓存项在自上次访问项后经过一定时间后过期,请将参数设置为 slidingExpiration 过期间隔,并将 absoluteExpiration 参数设置为 NoAbsoluteExpiration

另请参阅

适用于

Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback)

将对象 Cache 与依赖项、过期策略和委托一起插入对象,该委托可用于在从缓存中删除项之前通知应用程序。

public:
 void Insert(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System::Web::Caching::CacheItemUpdateCallback ^ onUpdateCallback);
public void Insert(string key, object value, System.Web.Caching.CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System.Web.Caching.CacheItemUpdateCallback onUpdateCallback);
member this.Insert : string * obj * System.Web.Caching.CacheDependency * DateTime * TimeSpan * System.Web.Caching.CacheItemUpdateCallback -> unit
Public Sub Insert (key As String, value As Object, dependencies As CacheDependency, absoluteExpiration As DateTime, slidingExpiration As TimeSpan, onUpdateCallback As CacheItemUpdateCallback)

参数

key
String

用于引用对象的缓存键。

value
Object

要插入缓存的对象。

dependencies
CacheDependency

项的文件或缓存密钥依赖项。 当任何依赖项发生更改时,对象将变为无效,并从缓存中删除。 如果没有依赖项,则此参数包含 null

absoluteExpiration
DateTime

插入的对象过期并从缓存中删除的时间。 若要避免本地时间可能出现的问题,例如从标准时间更改为夏令时,请使用 UtcNow 此参数值而不是 Now 此参数值。 如果使用绝对过期, slidingExpiration 则必须将参数设置为 NoSlidingExpiration

slidingExpiration
TimeSpan

上次访问缓存对象的时间与该对象过期时间之间的间隔。 如果此值等效于 20 分钟,则对象将在上次访问后 20 分钟从缓存中删除。 如果使用滑动过期,则必须将 absoluteExpiration 参数设置为 NoAbsoluteExpiration

onUpdateCallback
CacheItemUpdateCallback

从缓存中删除对象之前将调用的委托。 你可以使用它更新缓存的项,并确保它不会被从缓存中删除。

例外

keyvalueonUpdateCallback参数为 null

将参数设置为 slidingExpiration 小于 TimeSpan.Zero 或等效于一年。

同时absoluteExpiration为要添加到的slidingExpiration项设置参数和Cache参数。

-或-

参数 dependenciesnull,参数 absoluteExpiration 设置为 NoAbsoluteExpiration,参数 slidingExpiration 设置为 NoSlidingExpiration

注解

使用 Insert 此方法可以在缓存中插入新项,并提供在从缓存中删除项之前调用的委托。 在委托中,可以更新缓存的项,从而阻止它从缓存中删除。

此方法将覆盖具有相同Cache参数的现有key项。

不能同时设置 absoluteExpirationslidingExpiration 参数。 如果希望缓存项在特定时间过期,请将参数设置为 absoluteExpiration 特定时间,并将 slidingExpiration 参数设置为 NoSlidingExpiration

如果希望缓存项在上次访问该项后的一定时间段后过期,请将参数设置为slidingExpiration过期间隔,并将参数absoluteExpiration设置为 NoAbsoluteExpiration

另请参阅

适用于

Insert(String, Object, CacheDependency)

将对象插入具有文件或密钥依赖项的对象 Cache

public:
 void Insert(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies);
public void Insert(string key, object value, System.Web.Caching.CacheDependency dependencies);
member this.Insert : string * obj * System.Web.Caching.CacheDependency -> unit
Public Sub Insert (key As String, value As Object, dependencies As CacheDependency)

参数

key
String

用于标识项的缓存键。

value
Object

要插入缓存中的对象。

dependencies
CacheDependency

插入对象的文件或缓存密钥依赖项。 当任何依赖项发生更改时,对象将变为无效,并从缓存中删除。 如果没有依赖项,则此参数包含 null

例外

keyvalue参数为 null.

示例

以下示例演示如何使用 XML 配置文件的缓存依赖项将项插入到应用程序的缓存中。

Cache.Insert("DSN", connectionString, new CacheDependency(Server.MapPath("myconfig.xml")));

Cache.Insert("DSN", connectionString, New CacheDependency(Server.MapPath("myconfig.xml")))

注解

此方法将覆盖其键与参数匹配 key 的现有缓存项。 使用此方法重载 Insert 添加到缓存的对象将插入优先级 Default、滑动过期值 NoSlidingExpiration和绝对过期值 NoAbsoluteExpiration

另请参阅

适用于

Insert(String, Object)

使用枚举提供的Cache默认值,使用缓存键将项CacheItemPriority插入到对象中以引用其位置。

public:
 void Insert(System::String ^ key, System::Object ^ value);
public void Insert(string key, object value);
member this.Insert : string * obj -> unit
Public Sub Insert (key As String, value As Object)

参数

key
String

用于引用项的缓存键。

value
Object

要插入到缓存中的对象。

例外

keyvalue参数为 null.

示例

以下示例演示如何将项插入到应用程序的缓存中。

Cache.Insert("DSN", connectionString);

Cache.Insert("DSN", connectionString)

注解

此方法将覆盖其键与参数匹配 key 的现有缓存项。 使用此方法重载Insert添加到缓存的对象不会插入任何文件或缓存依赖项、优先级Default、滑动过期值和绝对过期值NoSlidingExpirationNoAbsoluteExpiration

另请参阅

适用于

Insert(String, Object, CacheDependency, DateTime, TimeSpan)

使用依赖项和过期策略将对象 Cache 插入其中。

public:
 void Insert(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration);
public void Insert(string key, object value, System.Web.Caching.CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration);
member this.Insert : string * obj * System.Web.Caching.CacheDependency * DateTime * TimeSpan -> unit
Public Sub Insert (key As String, value As Object, dependencies As CacheDependency, absoluteExpiration As DateTime, slidingExpiration As TimeSpan)

参数

key
String

用于引用对象的缓存键。

value
Object

要插入缓存中的对象。

dependencies
CacheDependency

插入对象的文件或缓存密钥依赖项。 当任何依赖项发生更改时,对象将变为无效,并从缓存中删除。 如果没有依赖项,则此参数包含 null

absoluteExpiration
DateTime

插入的对象过期并从缓存中删除的时间。 若要避免本地时间可能出现的问题,例如从标准时间更改为夏令时,请使用 UtcNow 此参数值而不是 Now 此参数值。 如果使用绝对过期,则 slidingExpiration 参数必须是 NoSlidingExpiration

slidingExpiration
TimeSpan

上次访问插入对象的时间与该对象过期的时间之间的间隔。 如果此值等效于 20 分钟,则对象将在上次访问后 20 分钟从缓存中删除。 如果使用滑动过期,则 absoluteExpiration 参数必须为 NoAbsoluteExpiration

例外

keyvalue参数为 null.

将参数设置为 slidingExpiration 小于 TimeSpan.Zero 或等效于一年。

同时absoluteExpiration为要添加到的slidingExpiration项设置参数和Cache参数。

示例

以下示例演示如何将项插入到具有绝对过期状态的应用程序缓存中。

注释

由于此形式的 方法支持缓存依赖项,如果项没有依赖项,则必须在逗号分隔的参数列表中将 参数声明为 < (Visual Basic c3 />)。

Cache.Insert("DSN", connectionString, null, DateTime.Now.AddMinutes(2), Cache.NoSlidingExpiration);
Cache.Insert("DSN", connectionString, Nothing, DateTime.Now.AddMinutes(2), Cache.NoSlidingExpiration)

以下示例演示如何使用滑动过期将项插入缓存中。

Cache.Insert("DSN", connectionString, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(10));
Cache.Insert("DSN", connectionString, Nothing, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(10))

注解

此方法将覆盖具有相同Cache参数的现有key项。

如果参数 slidingExpiration 设置为 NoSlidingExpiration,则禁用滑动过期。 如果将参数设置为slidingExpiration大于,则Zero参数设置为absoluteExpiration加参数中包含的NowslidingExpiration值。 如果在参数指定的 absoluteExpiration 时间量之前从缓存请求该项,该项将再次放置在缓存中,并将 absoluteExpiration 再次设置为 DateTime.Now 加参数中包含的 slidingExpiration 值。 如果未在参数中的 absoluteExpiration 日期之前从缓存请求该项,则会从缓存中删除该项。 使用此插入方法重载添加到缓存的项的优先级为 < a0/a0>

另请参阅

适用于