3

私はこのコードを試します

public ActionResult RemoveCache(Guid product_Id)  
{  
    var url = Url.Action("ProductPreview", "Common", new { product_Id = product_Id });  
    HttpResponse.RemoveOutputCacheItem(url);  
    return RedirectToAction("Index");  
}  

子アクションの出力キャッシュを削除しますが、機能しません。助けてください、ありがとう!

4

2 に答える 2

3

http://mvcdonutcaching.codeplex.com/で MVCDonutCaching nuget パッケージを使用します。

http://www.devtrends.co.uk/blog/donut-output-caching-in-asp.net-mvc-3の「使用法」というタイトルのセクションを参照して ください。

キャッシュからアイテムを削除します。ドーナツ ホールを強制するために追加するパラメーターを使用した Html.Action オーバーロードがあります (したがって、キャッシュを除外します)。

@Html.Action("Login", "Account", true)

上記の true は、「この子アクションをキャッシュしないでください - ドーナツ ホールを作成する」ことを意味します。

于 2012-09-27T03:20:29.327 に答える
3

すべての chid アクションの出力キャッシュをクリアすることが受け入れられる場合は、次の方法があります。

OutputCacheAttribute.ChildActionCache = new MemoryCache("NewRandomStringNameToClearTheCache"); 

NewRandomStringNameToClearTheCacheランダムな文字列にする必要があります。

ソース参照: http://dotnet.dzone.com/articles/programmatically-clearing-0

于 2013-12-10T16:57:10.937 に答える