日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

ASP.NET?MVC緩存過濾器用法_實用技巧

作者:.NET開發菜鳥 ? 更新時間: 2022-05-08 編程語言

緩存過濾器用來輸出頁面緩存,其用法如下圖所示:

注意:

Duration:表示緩存多少秒;VaryByParam:表示緩存是否隨地址參數而改變。OutputCache除了可以定義在Action方法上面以外,還可以定義在控制器上面。

演示示例:

新建一個MVC應用程序,添加一個名為Cache的控制器,Cache控制器的Index方法里面將當前時間輸出到頁面中,Cache控制器定義如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace _2_緩存過濾器.Controllers
{
    public class CacheController : Controller
    {
        [OutputCache(Duration =5,VaryByParam ="none")]
        // GET: Cache
        public ActionResult Index(int? id)
        {
            ViewData["CurrentTime"] = "現在的時間是:" + DateTime.Now;
            return View();
        }
    }
}

2、Cache控制器的Index視圖定義如下:

@{
    Layout = null;
}





    
    Index


    

@ViewData["CurrentTime"]

?3、程序運行結果

刷新頁面的時候,只有時間過了5秒以后,頁面上面顯示的時間才會刷新。

如果把VaryByParam的值改為id,那么在5秒的時間范圍內,頁面顯示的時間會隨著id值的改變而改變,即只要id的值改變一次,頁面顯示的時間就會改變。

在MVC程序中使用緩存過濾器的時候,由于控制器的代碼需要編譯后才能發布,在發布之后,如果要修改緩存的策略,就很麻煩,這時可以采用如下圖所示的方法,把緩存策略寫在配置文件里面,這樣即使在程序發布之后,我們也可以隨時調整緩存的策略。

配置文件修改如下:




  
    
    
    
    
  
  
    
    
    
      
    
    
    
      
        
          
        
      
    
  
  
    
      
        
        
      
      
        
        
      
      
        
        
      
      
        
        
      
      
        
        
      
      
        
        
      
    
  
  
    
    
      
      
    
  
  
    
      
      
    
  

程序代碼修改如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace _2_緩存過濾器.Controllers
{
    public class CacheController : Controller
    {

        [OutputCache(CacheProfile = "cpfile")]
        // GET: Cache
        public ActionResult Index(int? id)
        {
            ViewData["CurrentTime"] = "現在的時間是:" + DateTime.Now;
            return View();
        }
    }
}

運行結果和上面的結果一樣。?

原文鏈接:https://www.cnblogs.com/dotnet261010/p/9005523.html

欄目分類
最近更新