sto cercando di utilizzare la nuova pagina di caching parziale disponibili in ASP.NET MVC 3. A mio avviso, sto usando:parziale page caching e VaryByParam in ASP.NET MVC 3
<% Html.RenderAction("RenderContent", Model); %>
Quale chiama il metodo di controllo:
[Authorize]
[OutputCache(Duration = 6000, VaryByParam = "*", VaryByCustom = "browser")]
public ActionResult RenderContent(Content content)
{
return PartialView(content);
}
noti che sia la vista originale e la vista parziale utilizzano la stessa vista del modello.
Il problema è che VaryByParam
non funziona - RenderContent()
restituisce sempre lo stesso codice HTML memorizzato nella cache indipendentemente dal modello di visualizzazione che gli viene passato. C'è qualcosa di VaryByParam
che non capisco?
Come è il metodo di azione di chiamata decorato, cache-saggio? Inoltre, VaryByParam non ha nulla a che fare con il modello passato al metodo di azione - ha a che fare con i parametri (stringa di query, modulo, ecc.) Inviati dal browser - * al metodo di azione chiamante *, in questo caso. – bzlm
Nessun caching è specificato sul metodo di azione chiamante. –
@bzlm, il caching parziale delle pagine * ha * a che fare con i parametri di input e non con i campi querystring/modulo. Vedi http://weblogs.asp.net/scottgu/archive/2010/12/10/announcing-asp-net-mvc-3-release-candidate-2.aspx, sezione Output Caching Improvements. – Carvellis