5

我有一个页面,其中包含作为输出缓存(部分输出缓存)的控件。这些设置如下:

[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???

4

3 回答 3

0

用于HTTPResponse.RemoveOutputCacheItem(pathofpage)清除特定页面的缓存。

例如:

private void Button1_Click(object sender, System.EventArgs e)
{
   HttpResponse.RemoveOutputCacheItem("/form1.aspx");
}
于 2012-09-07T06:21:25.477 回答
0

您可以创建一个除了清除缓存之外什么都不做的 aspx 页面。您可以获取查询字符串参数并通过缓存键将其删除。

或者您可以尝试查找和 ASP.NET 缓存管理器。

于 2012-03-29T18:04:15.513 回答
0

您应该使用HttpResponse.RemoveOutputCacheItem(path)清除输出缓存,其中 path 是https://stackoverflow.com/a/37167/30594中指定的用户控件的虚拟绝对路径

于 2012-03-30T13:12:25.313 回答