コード例 #1
0
 /// <summary>
 /// 将缓存项持久化到设备
 /// </summary>
 /// <param name="cacheItem"></param>
 protected virtual void SaveCacheItem( CacheItem cacheItem )
 {
   using ( var stream = CreateSaveStream( cacheItem.CacheToken ) )
   {
     Serialize( cacheItem, stream );
   }
 }
コード例 #2
0
    /// <summary>
    /// 插入缓存项
    /// </summary>
    /// <param name="cacheItem"></param>
    public virtual void InsertCacheItem( CacheItem cacheItem )
    {

      if ( !cacheItem.IsValid() )//缓存已过期
        return;

      SaveCacheItem( cacheItem );
    }
コード例 #3
0
 /// <summary>
 /// 序列化缓存项
 /// </summary>
 /// <param name="cacheItem"></param>
 /// <param name="stream"></param>
 protected virtual void Serialize( CacheItem cacheItem, Stream stream )
 {
   var formatter = new BinaryFormatter();
   formatter.Serialize( stream, cacheItem );
 }
コード例 #4
0
    /// <summary>
    /// 插入缓存项
    /// </summary>
    /// <param name="cacheItem"></param>
    public override void InsertCacheItem( CacheItem cacheItem )
    {
      if ( EnableMemoryCache )
        HttpRuntime.Cache.InsertCacheItem( cacheItem );

      base.InsertCacheItem( cacheItem );
    }
コード例 #5
0
ファイル: StandardCachePolicy.cs プロジェクト: neo2018/Jumony
        /// <summary>
        /// 获取 CacheItem
        /// </summary>
        /// <returns></returns>
        public CacheItem GetCacheItem()
        {
            if ( _cacheItem == null )
            _cacheItem = CacheStorageProvider.GetCacheItem( CacheToken );

              if ( _cacheItem != null && _cacheItem.IsValid() )//确保缓存未过期
            return _cacheItem;

              return null;
        }