清除部分输出缓存

Nie*_*sma 5 c# asp.net fragment-caching global-asax

我有一个页面,其控件是输出缓存(部分输出缓存).这些设置如下:

[PartialCaching(86400, null, null, "campaign.whatwhere", true)]
public partial class controls_LatestEnquiriesListCached : System.Web.UI.UserControl
{

...
Run Code Online (Sandbox Code Playgroud)

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);
}
Run Code Online (Sandbox Code Playgroud)

Global.asax

如何设置以便我可以在特定页面上清除此输出缓存?

有可能设置像MyPageWithCachedControl.aspx?ClearCache=true???

Dan*_*y G 0

您可以创建一个除了清除缓存之外不执行任何操作的 aspx 页面。您可以获取查询字符串参数并让它通过缓存键删除。

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