System.Web.Caching.Cache删除某键后,希望同时触发其它动作(关(3)
/// <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();
相关新闻>>
- FormView显示、更新、插入、删除数据库操作[ASP.NET源代码](一)
- FormView显示、更新、插入、删除数据库操作[ASP.NET源代码](二)
- FormView显示、更新、插入、删除数据库操作[ASP.NET源代码](三)
- 定制默认系统帐号不能被更新与删除
- JavaScript 删除 ASP.NET 设置的多值 Cookie 的方法
- ASP.NET Gridview 中使用checkbox删除的方法(两种)
- WPF如何删除已经打开的图片文件
- asp.net之DataList的使用方法,及分页(存储过程创建),编辑,更新,删除
- ASP.Net之Datalist详解【删除(源码)】
- 用触发器进行级联删除
- 发表评论
-
- 最新评论 更多>>