2010-10-25 97 views
1

是什麼在視圖中使用輸出緩存ASP.NET MVC視圖和控制器輸出緩存

之間的差:

<%@ Page Language="C#" 
    Inherits="System.Web.Mvc.ViewPage<Mahmure.WebUI.ViewModels.NewsletterVM>" %> 
    <%@ OutputCache Duration="120" VaryByParam="none" %> 

和控制器:

[OutputCache(Duration = 120, VaryByParam = "none")] 
    public ActionResult Index() 
    { 
+0

區別在於視圖級緩存vs動作級緩存。前者目前在ASP.NET MVC中並未完全支持。 – bzlm 2010-10-25 18:17:49

回答

4

在ASP.NET MVC模型在控制器動作上使用該屬性更爲正確,因爲URL不再由視圖(如在傳統WebForms中)而是由路由決定,並且它是控制器操作首先獲取請求並決定是否從是否緩存。