Właśnie zaczynam szukać buforowania, aby poprawić wydajność i pytanie o buforowanie wywołania AJAX.Jak działa buforowanie ASP.NET MVC dla żądania AJAX?
Mam akcję, która służy do wysyłania zapytań do twittera, a następnie zwracania wyników. W momencie, gdy użytkownik naciśnie przycisk, ładuje obracający się GIF, podczas gdy przechodzi do akcji, aby wykonać zapytanie, a następnie zwraca częściowy widok. Następnie jQuery aktualizuje element div za pomocą odpowiedzi HTML z widoku. Zwykle zajmuje to około 5 sekund. Następnie mają więcej przycisku, który uruchamia się, aby uzyskać więcej wyników.
Co się stanie, jeśli ustawię CachingAttribute na tę akcję? Wiem, że mogę to wypróbować, ale chcę tylko wyjaśnić techniczną stronę rzeczy.
Dzięki
Oto mój Javascript:
$('#blogEntryList #moreLink').live("click", function() {
$('#morespan').toggle();
$('#loader').toggle();
$.get($(this).attr("href"), function(response) {
$('#blogEntryList ol').append($("ol", response).html());
$('#blogEntryList #moreLink').replaceWith($("#moreLink", response));
$('#loader').hide();
$('#morespan').show();
});
return false;
});
Oto mój zmodyfikowany Działanie:
[OutputCache(
Location = OutputCacheLocation.Server,
Duration = 100,
VaryByParam = "")]
public ActionResult BlogPosts(int? entryCount)
{
if (!entryCount.HasValue)
entryCount = defaultEntryCount;
int page = entryCount.Value/defaultEntryCount;
IEnumerable<BlogData> pagedEntries = GetLatestEntries(page, defaultEntryCount);
if (entryCount < totalItems)
AddMoreUrlToViewData(entryCount.Value);
return View("BlogEntries", pagedEntries);
}
Kiedy użytkownik kliknie więcej danych w mojej sytuacji, zwróci raz 10 pierwszych wyników, dopóki nie wygaśnie wygaśnięcie pamięci podręcznej? W takim przypadku prawdopodobnie nie będę chciał używać pamięci podręcznej, ponieważ gdy klikną więcej danych, nie można ich zapisać w pamięci podręcznej. – Jon
@Jon, można użyć właściwości 'VaryByParam' w celu określenia nazwy parametru akcji, na przykład numeru strony. –
Czy VaryByParam może zawierać CSV wartości np./Jeśli masz 5 numerów stron? – Jon