2008-11-27 14 views
11

Ich lerne ASP.NET MVC und von einem Problem abgehört.ASP.NET MVC OutputCache funktioniert nicht für Root-URI

In der HomeController hat die Index-Aktion OutputCache-Attribut, aber es scheint nicht zu funktionieren.

[HandleError] 
public class HomeController : Controller 
{ 
    [OutputCache(Duration=5, VaryByParam="none")] 
    public ActionResult Index() 
    { 
     ViewData["Title"] = "Home Page" + DateTime.Now; 
     ViewData["Message"] = "Welcome to ASP.NET MVC! " + DateTime.Now; 

     return View(); 
    } 
} 

Nach einigen Minuten versuche ich, dass es aufgrund der Art, wie ich auf die Aktion zugreifen. Wenn ich über "http://localhost:3573/" darauf zugreife, funktioniert der Outputcache nicht. Wenn ich jedoch mit "http://localhost:3575/Home/Index" darauf zugreife, funktioniert der Ausgabecache.

Jeder kennt eine Problemumgehung, um die Standard-Controller-Aktion outputcacheable zu machen?

Danke.

+0

Ich sehe das gleiche Problem hier. –

+0

jemand von euch Leute mit Chrom? Ich habe bemerkt, einige Wierdness in Chrom-Caching –

+0

gesehen, die gleiche in FF3 – dove

Antwort

7

Ich denke, das ist ein Fehler in ASP.NET MVC. Wir haben das Problem in unserer Datenbank protokolliert und untersuchen eine Lösung für dieses Problem.

Danke, Eilon

+1

Sie beheben auch den Fehler bei der Einstellung VaryByParam auf "None" wird die HTTP-Antwort Header "Vary: *", was das Gegenteil von was soll passieren? – bzlm

+1

@Eilon Ich sehe das immer noch als ein Problem, haben Sie irgendwelche Empfehlungen für das Zwischenspeichern eines Root-URI? anders als umleiten nach/home;) – dove

1

mit VarByParam = „“ es bei Microsoft

1

Nach meinen Kontakten zu machen scheint zu arbeiten, verschwindet das Problem vollständig, wenn Sie die Datei Default.aspx aus der Wurzel Ihrer entfernen Wenn Sie es unbedingt benötigen, stellen Sie sicher, dass Sie das verwenden, das mit der neuesten Version von ASP.NET MVC bereitgestellt wird.