bộ đệm đầu ra được triển khai trong ASP.NET MVC2 bằng cách sử dụng mã bên dưới.Tại sao GetVaryByCustomString không được gọi là
GetVaryByCustomString
phương pháp không được gọi là: đặt điểm ngắt cho dòng đầu tiên của nó và ứng dụng đang chạy cho thấy rằng điểm ngắt không đạt được. Điểm ngắt trong bộ điều khiển Index() đạt được.
Cách sử dụng VaryByCustom
trong ASP.NET MVC2?
Bộ điều khiển:
[OutputCache(VaryByCustom = "user")]
public ActionResult Index(string _entity, string id)
{
...
Global.asax.cs:
public class MvcApplication : System.Web.HttpApplication
{
public override string GetVaryByCustomString(HttpContext context, string arg)
{
if (arg == "user")
{
HttpCookie cookie = context.Request.Cookies["Company"];
if (cookie != null)
return Thread.CurrentPrincipal.Identity.Name + "," + cookie.Value;
return Thread.CurrentPrincipal.Identity.Name;
}
return base.GetVaryByCustomString(context, arg);
}
}
Cảm ơn bạn. Sau khi thêm tiêu đề Vary: * này sẽ được gửi đến trình duyệt và điều này sẽ vô hiệu hóa bộ nhớ cache của trình duyệt. Làm thế nào để kích hoạt bộ nhớ cache của trình duyệt với VaryByCustom? – Andrus