Pracuję w sklepie internetowym, takim jak strona asp.net mvc 4 z serwerem danych wcf. Moja aplikacja jest zbudowana z głównych kategorii, podkategorii i produktów. Każdy produkt może być tylko w jednej podkategorii i moje URL to tak:Jak dodać nowy węzeł MvcSitemapProvider w środowisku wykonawczym
/maincategoryname/subcategoryname/{ProductId}/producttitle
a odpowiadający ślad nawigacyjny:
główna> Maincategory> Podkategoria> Producttitle
Używam obecnie MvcSitemapProvider do generowania menu nawigacyjnego i bułek tartych. Ładuję wszystkie adresy URL jako dynamiczne węzły bez pamięci podręcznej. To rozwiązanie działa dla kilku produktów, ale kiedy dodaję 1000 produktów, mapa witryny zajmuje 6,5 sekundy, co jest o wiele za długie.
Włączyłem buforowanie w MvcSitemapProvider. W ten sposób aplikacja ładuje się znacznie szybciej. Ale gdy użytkownik doda nowy produkt i przejdzie do nowego produktu (strony). Adres URL nie znajduje się jeszcze w pliku mapy witryny, ponieważ korzysta z pamięci podręcznej. W ten sposób moja nawigacja i bułka nie będą generowane.
Moje pytanie brzmi:
Czy jest możliwe aby dodać nowy węzeł do mapy przy starcie, gdy użytkownik dodaje nowy produkt?