科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道.Net 缓存代理类 的初步考虑

.Net 缓存代理类 的初步考虑

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

   EntityData为实体数据类 我们这里将实体数据进行缓存,缓存方法是 //从Web.Config取得对缓存过期的设置 ICacheItemExpiration[] ice=ExpireTerm.GetExpi

作者:中国IT实验室 来源:中国IT实验室 2007年9月11日

关键字: 编程

  • 评论
  • 分享微博
  • 分享邮件
  

    EntityData为实体数据类

    我们这里将实体数据进行缓存,缓存方法是

    //从Web.Config取得对缓存过期的设置

    ICacheItemExpiration[] ice=ExpireTerm.GetExpirationPolicy();

    //获得缓冲对象

    CacheManager cm=CacheManager.GetCacheManager();

    存储

    cm.Add(EntityKeyCreator.CreateKey(entity),entity,ice,CacheItemPriority.Normal,null);

    此类可以做实体代理类

    using Microsoft.ApplicationBlocks.Cache;

    /// <summary>

    /// 缓冲实体

    /// </summary>

    /// <param name="entity">实体数据</param>

    public static void CacheEntity(EntityData entity)

    {

    if(entity.IsEmpty)

    return;

    ICacheItemExpiration[] ice=ExpireTerm.GetExpirationPolicy();

    //获得缓冲对象

    CacheManager cm=CacheManager.GetCacheManager();

    //存储

    cm.Add(ExpireTerm.CreateKey(entity),entity,ice,CacheItemPriority.Normal,null);

    }

    ExpireTerm.class

    using Microsoft.ApplicationBlocks.Cache;

    internal static ICacheItemExpiration[] GetExpirationPolicy()

    {

    if(Object.Equals(configSetting,null))

    {

    configSetting = (ICacheItemExpiration[])ConfigurationSettings.GetConfig("TopCoolExpireTerm");

    }

    return configSetting;

    }

    internal static string CreateKey(EntityData entity)

    {

    DataSet ds = new DataSet();

    DataColumn[] keyColumns;

    if(entity.Tables.Contains(entity.MainTableName))

    keyColumns = entity.Tables[entity.MainTableName].PrimaryKey;

    else

    keyColumns = entity.CurrentTable.PrimaryKey;//

    StringBuilder sb = new StringBuilder(entity.EntityTypeName);

    //用:分隔实体类列名

    for(int i=0;i<keyColumns.Length;i++)

    {

    sb.Append(":");

    sb.Append(entity[keyColumns[i].ColumnName].ToString());

    }

    return sb.ToString();

    }

    注意:EntityData从DataSet 继承过来。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件