輸出緩存是在ASP.NET MVC2中使用下面的代碼實現的。爲什麼GetVaryByCustomString不被調用
GetVaryByCustomString
方法未被調用:將斷點放置到其第一行並且正在運行的應用程序顯示未達到斷點。 達到控制器索引()中的斷點。
如何在ASP.NET MVC2中使用VaryByCustom
?
控制器:
[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);
}
}
謝謝。添加這個Vary之後:*頭部被髮送到瀏覽器,並且這會禁用瀏覽器緩存。如何使用VaryByCustom啓用瀏覽器緩存? – Andrus