System.Web.Caching.Cache删除某键后,希望同时触发其它动作(关(3)

来源:未知 责任编辑:责任编辑 发表时间:2014-05-10 12:25 点击:

    /// <summary>
    /// 缓o存?事?件t源′
    /// </summary>
    public class CacheEventArgs
    {
        public CacheEventArgs()
        {

        }
        public CacheEventArgs(string cacheKey)
        {
            this.CacheKey = cacheKey;
        }
        public string CacheKey { get; set; }
    }

在这个类中,有一个关于删除键时的事件,它的作用是在删除某个键时,进行与它关联的其它操作,例如:在用户登出时,希望将它的cache记录清除,并删除一些记录性的操作,但记录性的操作是不固定的,为了为破坏程序的完整性,我们可以在登出时,先去将其需要的操作进行有订阅,如果以后有其它删除cache键需要的关联操作,只要订阅就可以了
代码如下:
static CommonMethod()
       {
           iUserRepository = new UserRepository();
           //订?阅?了?CacheDeleted这a个?事?件t,?当±它ü被?触¥发¢时±,?将?自?动ˉ执′行D被?绑ó定¨的?方?法¨
           DataCache.CacheDeleted += new CacheEventHandler(ClearUserRecord);
           DataCache.CacheDeleted += new CacheEventHandler(ClearProductRecord);
       }
    #region 删?除yCache后ó,?需è要a做?的?其?它ü事?情é
        static void ClearUserRecord(object sender, CacheEventArgs e)
        {
            DataCache.SetCache("msg1", e.CacheKey + "被?删?除y了?");
        }


        static void ClearProductRecord(object sender, CacheEventArgs e)
        {
            DataCache.SetCache("msg2", e.CacheKey + "真?的?被?删?除y了?");
        }
        #endregion


在登出操作后,可以去触发删除cache键的操作:
 
public static ActionResult UserLogOutModule(Controller controller)
       {
           string returnUrl = controller.Request.QueryString["returnUrl"];
           Standard.ClientHelper.UserLogout();

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • C#高级编程:数据库连接[1]
  • asp.net 设置GridView的选中行的实现代码
  • 经典C++程序1
  • IIS 自动回收导致后台定时器失效的问题解决
  • ASP.NET&#160;GridView列表代码示例
  • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1