2012-11-08 40 views
2

我有檢查,如果用戶當前在線一個簡單的動作過濾屬性:現在ASP MVC 4 - 緩存操作篩選

public class CheckForOnlineAttribute : ActionFilterAttribute 
{ 
    public override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     Membership.GetUser(); 
     base.OnActionExecuting(filterContext); 
    } 
} 

,我想緩存此動作12分鐘,我試圖把一個[OutputCache(Duration=XXX)]就可以了,但那不行。我如何緩存這個動作過濾器?

+0

你是什麼意思? – SLaks

+0

定義「緩存」過濾器。你希望過濾器每12分鐘才被調用一次?它有什麼不同?我認爲你並沒有想到這一點,因爲這個結果會被緩存給每個人。 – Tejs

+0

我希望每隔12分鐘爲每個用戶執行一次 - 用戶正在登錄,正在調用操作,並在12分鐘後再次執行該操作。 – ojek

回答

1

注意,時間是以秒爲單位,所以在你的時間不是12,而是1200(我看現在你已經改變了對XXX,但我認爲這是12)

也希望這個行動包括參數供用戶使用,並因輸出緩存的參數而異。

+0

是的,我改變了這一點,我希望避免人們告訴我,這是在幾秒鐘內,我有12秒在我的代碼,並粘貼它在這裏沒有編輯。 :-)無論如何感謝指出一個錯誤。 – ojek