2010-02-18 15 views

cevap

5

Böyle OutputCache yönergesi ekleyin:

MVC
<%@ OutputCache Duration="60" VaryByParam="None" VaryByCustom="SessionID" %> 

, sizin eyleme bu özelliği eklemelerini

[OutputCache(Duration = 60, VaryByParam="None", VaryByCustom="SessionID")] 

Sonra Global.asax dosyasını

Public override string GetVaryByCustomString(HttpContext context, string arg) 
{ 
    if(arg.ToLower() == "sessionid") 
    { 
    HttpCookie cookie = context.Request.Cookies["ASP.NET_SessionID"]; 
    if(cookie != null) 
     return cookie.Value; 
    } 
    return base.GetVaryByCustomString(context, arg); 
} 
+3

Oturum tanımlama bilgisi adını kullanarak alabilirsiniz. [SessionStateSection] (http://msdn.microsoft.com/en-us/library/system.web.configuration.sessionstatesection (v = vs.110) .aspx) (böylece varsayılan tanımlama bilgisi adını kodlamaktan kaçının). Ayrıca, argüman üzerinde bir olgu duyarsız karşılaştırma yapmalısınız, sadece daha iyi görünüyor. Bu sürümde, bu blog yayında kontrol edebilirsiniz: http://blog.danielcorreia.net/asp-net-mvc-vary-by-current-user/ –

İlgili konular