Sto lavorando su un sito Web asp.net mvc 4 simile a un negozio online con un datalayer wcf-service. La mia applicazione è costruita con maincategories, sottocategorie e prodotti. Ogni prodotto può essere solo in una sottocategoria e il mio URL di sono in questo modo:Come aggiungere un nuovo nodo MvcSitemapProvider al runtime
/maincategoryname/SubCategoryName/{productid}/ProductTitle
e il corrispondente filo di Arianna:
Home> Maincategory> Sotto> ProductTitle
Attualmente sto utilizzando MvcSitemapProvider per generare i menu di navigazione e i breadcrumb. Sto caricando tutti gli URL come nodi dinamici senza cache. Questa soluzione funziona per un paio di prodotti, ma quando aggiungo 1000 prodotti la mappa del sito impiega 6,5 secondi per popolare, il che è troppo lungo.
Ho attivato la memorizzazione nella cache in MvcSitemapProvider. In questo modo l'applicazione si carica molto più velocemente. Ma quando un utente aggiunge un nuovo prodotto e naviga verso questo nuovo prodotto (pagina). L'URL non è ancora nel file Sitemap perché utilizza la cache. In questo modo la mia navigazione e i breadcrumb non vengono generati.
La mia domanda è:
E 'possibile aggiungere un nuovo nodo per la mappa del sito in fase di esecuzione dopo che un utente aggiunge un nuovo prodotto?