Cache.Insert 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
向 Cache 对象插入项。 使用此方法的某一版本覆盖具有相同 key
参数的现有 Cache
项。
重载
Insert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback) |
向 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
在从缓存中移除对象时将调用的委托(如果提供)。 当从缓存中删除应用程序的对象时,可使用它来通知应用程序。
例外
key
或 value
参数为 null
。
将 slidingExpiration
参数设置为小于 TimeSpan.Zero
或大于一年的等效值。
为要添加到 Cache
中的项设置 absoluteExpiration
和 slidingExpiration
参数。
示例
以下示例演示如何在将项插入应用程序的 Cache
对象时为其分配高优先级。
注意
有关如何将此方法用于 CacheItemRemovedCallback 委托的详细信息,请参阅 如何:从缓存中删除项时通知应用程序。
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
。
不能同时 absoluteExpiration
设置 和 slidingExpiration
参数。 如果希望缓存项在特定时间过期,请将 参数设置为 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
从缓存中移除对象之前将调用的委托。 可以使用它来更新缓存项并确保缓存项不会从缓存中移除。
例外
key
、value
或 onUpdateCallback
参数为 null
。
将 slidingExpiration
参数设置为小于 TimeSpan.Zero
或大于一年的等效值。
为要添加到 Cache
中的项设置 absoluteExpiration
和 slidingExpiration
参数。
- 或 -
dependencies
参数为 null
,absoluteExpiration
参数设置为 NoAbsoluteExpiration 并且 slidingExpiration
参数设置为 NoSlidingExpiration。
注解
使用 Insert 方法可以在缓存中插入新项,并提供在从缓存中删除该项之前调用的委托。 在委托中,可以更新缓存的项,从而防止它从缓存中删除。
此方法将使用相同的参数覆盖现有 Cache
项 key
。
不能同时 absoluteExpiration
设置 和 slidingExpiration
参数。 如果希望缓存项在特定时间过期,请将 参数设置为 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
。
例外
key
或 value
参数为 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
要插入缓存中的对象。
例外
key
或 value
参数为 null
。
示例
以下示例演示如何将项插入应用程序的缓存中。
Cache.Insert("DSN", connectionString);
Cache.Insert("DSN", connectionString)
注解
此方法将覆盖键与 参数匹配 key
的现有缓存项。 使用 方法的此重载添加到缓存中的 Insert
对象插入时没有文件或缓存依赖项,优先级 Default为 ,滑动过期值 为 NoSlidingExpiration,绝对过期值为 NoAbsoluteExpiration。
另请参阅
适用于
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。
例外
key
或 value
参数为 null
。
将 slidingExpiration
参数设置为小于 TimeSpan.Zero
或大于一年的等效值。
为要添加到 Cache
中的项设置 absoluteExpiration
和 slidingExpiration
参数。
示例
以下示例演示如何将具有绝对过期的项插入到应用程序的缓存中。
注意
由于此形式的 Insert
方法支持缓存依赖项,如果项没有依赖项,则必须在 Visual Basic 中将参数声明 dependency
为 null
(Nothing
,) 逗号分隔的参数列表中。
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
大于 ,则absoluteExpiration
参数设置为 Now 加上 参数中包含的slidingExpiration
Zero值。 如果在参数指定的 absoluteExpiration
时间之前从缓存请求该项,则该项将再次放置在缓存中,并将 absoluteExpiration
再次设置为 DateTime.Now
加上 参数中包含的 slidingExpiration
值。 如果未在 参数的 absoluteExpiration
日期之前从缓存请求该项,则会从缓存中删除该项。 使用插入方法的此重载添加到缓存中的项的插入优先级 Default为 。