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

https://stackoverflow.com/a/37167/30594HttpResponse.RemoveOutputCacheItem(path)で指定されているパスがユーザー コントロールの仮想絶対パスである出力キャッシュをクリアするために使用する必要があります。

于 2012-03-30T13:12:25.313 に答える
0

キャッシュをクリアするだけの aspx ページを作成できます。クエリ文字列パラメーターを取得して、キャッシュ キーで削除することができます。

または、ASP.NET キャッシュ マネージャーを検索してみることもできます。

于 2012-03-29T18:04:15.513 に答える
0

HTTPResponse.RemoveOutputCacheItem(pathofpage)特定のページのキャッシュをクリアするために使用します。

例えば:

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