Cache.Insert 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将项插入到对象中 Cache 。 使用此方法的某个版本来覆盖具有相同Cache参数的现有key项。
重载
| 名称 | 说明 |
|---|---|
| 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 或等效于一年。
同时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项。
不能同时设置 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
从缓存中删除对象之前将调用的委托。 你可以使用它更新缓存的项,并确保它不会被从缓存中删除。
例外
或keyvalueonUpdateCallback参数为 null。
将参数设置为 slidingExpiration 小于 TimeSpan.Zero 或等效于一年。
同时absoluteExpiration为要添加到的slidingExpiration项设置参数和Cache参数。
-或-
参数 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、滑动过期值和绝对过期值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。
例外
key或value参数为 null.
将参数设置为 slidingExpiration 小于 TimeSpan.Zero 或等效于一年。
同时absoluteExpiration为要添加到的slidingExpiration项设置参数和Cache参数。
示例
以下示例演示如何将项插入到具有绝对过期状态的应用程序缓存中。
注释
由于此形式的
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 日期之前从缓存请求该项,则会从缓存中删除该项。 使用此插入方法重载添加到缓存的项的优先级为