我有一个页面,其控件是输出缓存(部分输出缓存)。这些设置如下:
[PartialCaching(86400, null, null, "campaign.whatwhere", true)]
public partial class controls_LatestEnquiriesListCached : System.Web.UI.UserControl
{
...
用
public override string GetVaryByCustomString(HttpContext context, string custom)
{
if (custom == "campaign.whatwhere")
{
return (CampaignManager.CurrentCampaign.DefaultWorkTypeId ?? 0).ToString() + (CampaignManager.CurrentCampaign.DefaultEnquiryAreaId ?? 0).ToString();
}
return base.GetVaryByCustomString(context, custom);
}
在Global.asax
如何设置以便我可以在特定页面上清除此输出缓存?
是否可以设置为MyPageWithCachedControl.aspx?ClearCache=true
???
答案 0 :(得分:0)
您可以创建一个除了清除缓存之外什么都不做的aspx页面。您可以使用querystring参数并按缓存键删除它。
或者您可以尝试查找和ASP.NET缓存管理器。
答案 1 :(得分:0)
您应该使用HttpResponse.RemoveOutputCacheItem(path)
清除输出缓存,其中path是https://stackoverflow.com/a/37167/30594
答案 2 :(得分:0)
使用HTTPResponse.RemoveOutputCacheItem(pathofpage)
清除特定网页的缓存。
例如:
private void Button1_Click(object sender, System.EventArgs e)
{
HttpResponse.RemoveOutputCacheItem("/form1.aspx");
}