Tạo Cache từ OutputCache mobile và laptop riêng trên asp.net mvc

Thảo luận trong 'Lập Trình Website MVC5 & MVC6' bắt đầu bởi admin, 6/10/20.

  1. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    4,349
    Đã được thích:
    1,052
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Việc tạo cache riêng cho từng phiên bản mobi và latop khá quan trọng vì khi trình duyệt của bạn đang vào là mobi hay latop mặc định cache giao diện và dữ liệu đều được bắt giống nhau. Việc bắt cache giống nhau này khiến dữ liệu giữa mobi va latop có thay đôi về số liệu, giao diện hay trình xử lý view cũng gây lỗi giữa 2 giao diện mobi và latop.

    Để khắc phục vấn đề này, chúng ta xây dựng cho web phân biệt 2 phiên bản rõ riệt mobi và latop như sau:

    Truy cập vào Global.asax thêm code sau vào để xác định cache đang vào xử lý là mobi hay latop

    Mã:
    public override string GetVaryByCustomString(HttpContext context, string custom)
    {
        if (custom.ToLowerInvariant() == "ismobile" && context.Request.Browser.IsMobileDevice)
        {
            return "mobile";
        }
        return base.GetVaryByCustomString(context, custom);
    }
    Tiếp theo quay lai view action của bạn cần bắt cache khai báo cache như bình thường, VD:

    Mã:
    [OutputCache(Duration = 86400, VaryByCustom = "ismobile")]
    public ActionResult Index()
    {
       return View();
    }
    Mã:
    [OutputCache(Duration = 86400, VaryByParam = "*", VaryByCustom = "ismobile")]
    public ActionResult Index(int id, string seo, int page, int pageindex)
    {
       return View();
    }
    
     
    Cảm ơn đã xem bài:

    Tạo Cache từ OutputCache mobile và laptop riêng trên asp.net mvc

    danh sách diễn đàn rao vặt gov chất lượng


Like và Share ủng hộ ITSEOVN