2015-10-08 61 views
2

輸出緩存我已經實現outputcaching對控制器的處理法與位置=服務器不工作

[OutputCache(Duration = 60, VaryByParam = "ID", VaryByHeader="User-Agent", Location = System.Web.UI.OutputCacheLocation.Server)] 
public ActionResult MyAction(int ID) 
{ 
    _logger.Error("call-" + ID); 
} 

和我進行這個動作中日誌條目。所以,我的問題是輸出緩存與位置=服務器每次調用此操作方法。它不應該每次都打電話。

那麼,這有什麼問題?

當我更改緩存位置即位置=客戶端時,只有第一次調用該方法。然後事後不採取行動方法。

+0

在你打第二個電話之前,你離開多久了? – Luke

+0

我已經設置持續時間= 60秒和第一次請求後我已經點擊後4-5秒,但它不會從緩存中檢索。 – chitra

+0

每次請求都有相同的ID? – Luke

回答

1

您是否在ChildAction上嘗試輸出緩存?我知道你沒有在你的問題中寫過ChildAction屬性,只是要求確認嗎?如果是,則不能使用不是Child Actions的輸出緩存。如果您想使用輸出緩存而不使用子操作,則需要使用this緩存插件。

+0

這不是一個ChildAction。但是,謝謝你的寶貴答案。 – chitra

+0

這就是我所說的。如果它不是一個子動作,那麼你不能使用MVC Inbuild Caching。你需要使用甜甜圈緩存。 –

+0

好的..我明白了。謝謝。 – chitra