2014-03-14 175 views
0

enter image description here清除mvc3中的緩存。

我使用SQL Server的上傳圖片和上傳的圖片會立即反映在網格below.my問題是當過我改變或編輯圖片,圖片將在數據庫中更改,但網格顯示之前我刪除的圖片。我必須註銷並再次查看這些更改。有什麼辦法可以解決這個問題嗎?每當網格重新加載時,是否有任何方法可以清除緩存?

+0

嘗試刷新頁面。不是最好的做法,但我認爲會起作用。 –

回答

0

您可以嘗試在下面的帖子中編寫自己的屬性,例如[no-cache],並且可以在控制器上使用它來防止緩存。

Prevent Caching in ASP.NET MVC for specific actions using an attribute

http://dotnetnsqlcorner.blogspot.co.uk/2012/09/disable-caching-for-controller-action.html?m=1

要禁用客戶端緩存,你也可以在你的行動結果使用[outputcacheattattribute。以下文章可能會有幫助

[OutputCacheAttribute(VaryByParam = "*", Duration = 0, NoStore = true)] 

How can I disable client side and proxy caching in ASP.NET MVC?

有禁用緩存以及其他方式,,但我想上面的兩種方法應該做的工作之一。希望這有助於

0

您可以將操作方法​​,並在你的Ajax調用創建除了cache: false無緩存行爲過濾器的屬性。

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] 
public sealed class NoCacheAttribute : ActionFilterAttribute 
{ 
    public override void OnResultExecuting(ResultExecutingContext filterContext) 
    { 
    filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1)); 
    filterContext.HttpContext.Response.Cache.SetValidUntilExpires(false); 
    filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches); 
    filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache); 
    filterContext.HttpContext.Response.Cache.SetNoStore(); 

    base.OnResultExecuting(filterContext); 
    } 
} 

這很好地解釋了Here。希望能幫助到你。