Ja próbuje użyć nowego częściowe buforowanie stron dostępnych w ASP.NET MVC 3. Moim zdaniem, używam:Częściowe buforowanie Page i VaryByParam w ASP.NET MVC 3
<% Html.RenderAction("RenderContent", Model); %>
Która wywołuje metodę kontrolera:
[Authorize]
[OutputCache(Duration = 6000, VaryByParam = "*", VaryByCustom = "browser")]
public ActionResult RenderContent(Content content)
{
return PartialView(content);
}
Należy zauważyć, że zarówno pierwotny widok, jak i częściowy widok są w tym samym modelu widoku.
Problem polega na tym, że VaryByParam
nie działa - RenderContent()
zawsze zwraca ten sam buforowany HTML bez względu na to, jaki model widoku jest do niego przekazywany. Czy jest coś o VaryByParam
, którego nie rozumiem?
Jak jest metoda działania wywołującego urządzone, cache-mądry? Ponadto VaryByParam nie ma nic wspólnego z Modelem przekazanym do metody akcji - ma to związek z parametrami (ciąg zapytania, formularz itp.) Wysyłanymi przez przeglądarkę - * do metody akcji wywołującej *, w tym przypadku. – bzlm
Nie określono buforowania w metodzie wywoływania akcji. –
@bzlm, częściowe buforowanie stron * ma * dotyczy parametrów wejściowych, a nie pól zapytania/formularza. Zobacz http://weblogs.asp.net/scottgu/archive/2010/12/10/announcing-asp-net-mvc-3-release-candidate-2.aspx, sekcja Udoskonalenia buforowania wyników. – Carvellis