首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

ASP.NET缓存等奇怪有关问题-------

2012-04-18 
ASP.NET缓存等奇怪问题-------用了缓存后:有时候缓存有时候不缓存(频率20%),有的时候点击按钮关刷新页面不

ASP.NET缓存等奇怪问题-------
用了缓存后:有时候缓存有时候不缓存(频率20%),有的时候点击按钮关刷新页面不执行程序(50%)

把缓存删掉一切正常


在用户控件中添加
<%@   OutputCache   Duration= "100000 "   VaryByParam= "page;category "   %>

<asp:DataList....   />

this.CachePolicy.Dependency   =   DependencyFacade.GetRecommendation();

//GetRecommendation()代码大致如下

      System.Web.Caching.SqlCacheDependencyAdmin.EnableNotifications(ConfigurationManager.ConnectionStrings[ "SQLConnString1 "].ConnectionString);
                        foreach   (string   tablename   in   tables)
                        {
                                SqlCacheDependencyAdmin.EnableTableForNotifications(ConfigurationManager.ConnectionStrings[ "SQLConnString1 "].ConnectionString,   tablename);
                                dependency.Add(new   SqlCacheDependency(dbName,   tablename));
                        }  
       


[解决办法]
你所需要执行的必须是控件事件,这样才可能在POST时触发。如果你执行的是Page_Load中一些根据QueryString之类的判断的代码,那么使用缓存并且GET时就什么也不执行。
[解决办法]
VaryByParam 属性基于使用 POST 或 GET 发送的名称/值对改变缓存结果
[解决办法]
除了页面缓存是否可以用其它试一下
http://www.microsoft.com/china/MSDN/library/WebServices/ASP.NET/ASP.NETCaching-TechniquesandBestPractiCEs.mspx?mfr=true
[解决办法]
<%@ OutputCache Duration= "100000 " VaryByParam= "none " VaryByControl= "Category " %>
如果用户控件包含名为“Category”的下拉选择框控件,用户控件的输出将基于在该控件中选择的值改变。


[解决办法]
访问页面的时候带上参数:
.aspx?page=0&category=1

热点排行