2009-05-15 6 views
5

Wszystkie przykłady dla buforowania pączka widziałem to tylko tak:Jak to zrobić „cache” pączek w ASP.NET MVC na coś więcej niż data

<%= Html.Substitute(c => DateTime.Now.ToString())%> 

Ów w porządku, jeśli tylko chcesz data, ale jakie są inne opcje?

wiem, że jest delegatem „MvcSubstitutionCallback”, który ma następujący podpis:

public delegate string MvcSubstitutionCallback(HttpContextBase httpContext); 

ale RenderAction i RenderPartial zwraca void więc nie mogę po prostu ich zwrotu od metody delegata. Jak skutecznie korzystać z tego wywołania zwrotnego w bardziej złożonych sytuacjach.

Przyjrzałem się artykułom Phila Haackeda: here i here, ale żadna z nich nie robi dokładnie tego, czego chcę.

+0

Każda zmiana w tej sprawie? Czy masz pomocnika html, który działa teraz? –

+0

czekasz cztery miesiące, a następnie dwa komentarze naraz. Ja też jestem tym zainteresowany, odeślę wszelkie ustalenia. Zgadywanie, że potrzebujemy nowego opakowania pomocnika wokół html.ViewContext.HttpContext.Response.WriteSubstitution – dove

+0

@robert po dodaniu uwierzytelniania do moich stron, które właśnie otworzyły puszkę robaków i skończyło się głównie wyłączenie buforowania w całej mojej witrynie. musiał nadawać priorytety innym rzeczom. Będę czekać na lepszą oficjalną odpowiedź –

Odpowiedz

3

"Buforowanie pączków" oznacza użycie metody Response.WriteSubstitution. Jeśli spojrzysz na źródło MVC, zobaczysz, że metoda System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial używa metody Response.Output (HtmlHelper.cs, wiersz 277 - ostatnia linia w metodzie "RenderPartialInternal") - więc musisz utworzyć własną pomocników html do obsługi bardziej złożonych sytuacji.

Powiązane problemy