如我的用户自定义控件添加了页面缓存<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UC_Navigation.ascx.cs" Inherits="UserControl_UC_Navigation" %>
<%@ OutputCache Duration="600" VaryByParam="MasterID"%>然后调用这个用户控件的aspx就有<uc7:UC_Navigation ID="UC_Navigation1" runat="server" />1:因为VaryByParam是根据URL的参数进行缓存的,
但我这里我不想用这种方式,
我想要通过给Navigation1添加一个属性如public Int32 MasterID,
然后页面用<uc7:UC_Navigation ID="UC_Navigation1" runat="server" MasterID="1" />
这种方法根据MasterID的不同而进行缓存,
这个可以实现吗
2:因为有些缓存的页面,后台进行了更新,而这时前台没有更新,那么我可不可以在程序中查找到现在网站缓存了哪些内容,然后我可以把这些缓存清空呢?
如我现在我的这个UC_Navigation1缓存了,然后后台就有删除这个缓存的功能;再打开他就重新缓存,也就是让UC_Navigation1的缓存过期谢谢
<%@ OutputCache Duration="600" VaryByParam="MasterID"%>然后调用这个用户控件的aspx就有<uc7:UC_Navigation ID="UC_Navigation1" runat="server" />1:因为VaryByParam是根据URL的参数进行缓存的,
但我这里我不想用这种方式,
我想要通过给Navigation1添加一个属性如public Int32 MasterID,
然后页面用<uc7:UC_Navigation ID="UC_Navigation1" runat="server" MasterID="1" />
这种方法根据MasterID的不同而进行缓存,
这个可以实现吗
2:因为有些缓存的页面,后台进行了更新,而这时前台没有更新,那么我可不可以在程序中查找到现在网站缓存了哪些内容,然后我可以把这些缓存清空呢?
如我现在我的这个UC_Navigation1缓存了,然后后台就有删除这个缓存的功能;再打开他就重新缓存,也就是让UC_Navigation1的缓存过期谢谢
还在犹豫什么,互通数据是你最好的选择。
详情请访问:http://www.515dns.com
QQ:287895593
Global.asax.cs
public override string GetVaryByCustomString(HttpContext context, string arg)
{
if (arg.ToLower () == "custom")
{
if(Session["test"] != null)
return Session["test"].ToString();
}
return base.GetVaryByCustomString (context, arg);
}
参考
参考
参考