Czy powinienem używać bufora danych lub pamięci podręcznej wyjściowej dla złożonego menu nawigacyjnego?

Próbuję buforować sekcje menu nawigacyjnego według różnych kryteriów.

Na przykład wiadomości i artykuły muszą być odświeżane na podstawie czasu trwania, podczas gdy dane logowania i profilu powinny być buforowane dla poszczególnych użytkowników.

Rozważam 2 opcje - czy ktoś byłby na tyle uprzejmy, aby oświecić mnie na temat zalet / wad każdego z nich? I jeśli to możliwe, zaproponuj lepsze podejście!

Opcja 1.

Po prostu buforuj wszystkie wymagane html jako łańcuchy w buforze danych. W razie potrzeby sprawdź ręcznie różnice użytkowników.

Ja (być może błędnie) wyobrażam sobie, że byłoby to najwięcej pracy do wykonania, ale także najbardziej efektywny sposób buforowania różnych sekcji.

Opcja 2.

Miej kontroler NavigationController z różnymi akcjami podrzędnymi dla każdej sekcji menu. (Możemy zastosować inny profil outputCacheProfile dla każdej akcji podrzędnej zgodnie z wymaganiami).

Wymagałoby to jednak wywołania osobnej akcji RenderAction dla każdej sekcji menu nawigacyjnego. I martwię się o to z powodu komentarza do jednego z blogów Phila Haacka:

[Render Action] jest bardzo podobny do tworzenia kolejnego żądania, ponieważ musimy uruchomić routing, aby mieć pewność, że mamy odpowiednie dane trasy i kontekst, aby wywołać metodę akcji. Tak więc każde wywołanie RenderAction będzie się sumować.

Pełny post tutaj:http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx

questionAnswers(1)

yourAnswerToTheQuestion