原贴:|zyciis| 当我的一个商品页面进行了缓存后,在后台添加了新商品,但因为前台已经缓存了,用户刷新看不到. 那怎么去清空这些缓存呢 谢谢  
http://topic.csdn.net/u/20081009/12/4574ddea-5433-4a71-8194-808901d78343.html如我的[商品列表]用户控件添加发如下声明
<%@ OutputCache Duration="600" VaryByParam="*" %>
如我要求缓存600秒
但这个时候我在后台添加了新的数据或修改了商品价格. 我要求是前台马上就能显示出来
但是因为添加了 用户控件缓存 倒置要到这个缓存结束后能才能更新那我要如何让[商品列表]用户控件的缓存失效而重新缓存呢??谢谢 急

解决方案 »

  1.   

    示例 
    Asp.net在缓存方面非常强大,可以插入和删除System.Web.Caching.CacheItemRemovedCallback callback = new System.Web.Caching.CacheItemRemovedCallback (OnRemove); 
    Cache.Insert("key",myFile,null, System.Web.Caching.Cache.NoAbsoluteExpiration,TimeSpan.Zero,System.Web.Caching.CacheItemPriority.Default,callback); 如果调用 Insert 方法,并向缓存中添加与现有项同名的项,则将从缓存中删除该旧项。
      

  2.   


    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="UC_List.ascx.cs" Inherits="UserControl_UC_List" %>
    <%@ OutputCache Duration="600" VaryByParam="*" %>那我这样生成的了缓存 在程序代码中如何来删除呢 谢谢
      

  3.   

    这个语句可以实现,注意路径一定要是绝对路径!!HttpResponse.RemoveOutputCacheItem("/default.aspx")
      

  4.   

    我的空间有删除cache的源代码下载http://download.csdn.net/source/685775
      

  5.   

    参看一下asp.net缓存依赖的一些内容.这才是用缓存技术的关键
      

  6.   

    我的空间有删除cache的源代码下载 http://download.csdn.net/source/685775 
    -----------------------------------------
    RE:CSDM出错
      

  7.   

    这不能通过@output完成,但可以在不改变@output的前提下在Page_Load添加以下语句完成:
    Response.AddCacheDependency(new SqlCacheDependency(sqlCommand))其中sqlCommand必须是一个SelectCommand,当它的结果集发生改变时,你的页面cache自动会失效。
      

  8.   

    http://blog.csdn.net/shankaipingo/articles/1439398.aspx