目标:缓存UserGrade表(字段:编号、等级名称、和头像图表路径)。
实现过程 :
1、创建过程;
namespace XyMembers_com
{
//级别信息
public class UserGradeInfo
{
public int ZID;
public string ZNAME;
public string ZIMG;
public UserGradeInfo(int ZID, string ZNAME, string ZIMG)
{
this.ZID = ZID;
this.ZNAME = ZNAME;
this.ZIMG = ZIMG;
}
}
//缓存级别表
public static class UserGrade
{
public static Dictionary<int, UserGradeInfo> GetUserGradeList()
{
lock (typeof(UserGrade))
{
//如果已经有了
if (HttpContext.Current.Cache["UserGrade"] != null)
return (Dictionary<int, UserGradeInfo>)HttpRuntime.Cache["UserGrade"];
else
{
Dictionary<int, UserGradeInfo> rst = new Dictionary<int, UserGradeInfo>();
SqlData sd = new SqlData();
DataTable dt = sd.ExecDS("select * from UserGrade");
foreach(DataRow row in dt.Rows)
{
int index = (int)row[0];
UserGradeInfo detail = new UserGradeInfo(index, (string)row[1], (string)row[2]);
rst.Add(index, detail);
}
HttpContext.Current.Cache.Insert("UserGrade", rst, null, DateTime.Now.AddMinutes(5), System.Web.Caching.Cache.NoSlidingExpiration);
return (Dictionary<int, UserGradeInfo>)HttpRuntime.Cache["UserGrade"];
}
}
}
}
}
2、使用过程:
。。。
Dictionary<int, UserGradeInfo> dc = UserGrade.GetUserGradeList();
UserGradeInfo tmp = (UserGradeInfo)dc[5];
return tmp.ZNAME.ToString();