Domanda

Quindi, nel nostro sito stiamo usando SiteMap. Per ogni richiesta rendiamo un po 'di menu e per fare ciò che facciamo SiteMap.RootNode nella funzione di supporto.

Ora, quando ho fatto la profilatura del mio sito web utilizzando dotTrace , ho visto il get_RootNode() sta prendendo sacco di tempo (circa 70-75 millisecondi). Ma sappiamo che la SiteMap è statico. Quindi, penso in qualche modo mi metterò l'SiteMap.RootNode solo una volta in Application_Start e accederanno che attraverso fuori ogni richiesta.

Quindi, le mie domande sono,

Il mio approccio corretto? Come devo fare? O c'è un modo efficace che posso usare SiteMap.RootNode

Grazie.

È stato utile?

Soluzione

Ho evitato Sitemap proprio per questo motivo. Essi sono ok fino a qualche centinaio di pagine, ma al di là che la performance inizierà a degradare.

Credo che sono destinate ad essere un semplice ottenere tipo di utensile iniziato per i siti web più piccoli o qualcosa del genere.

ho scritto le mie cm e, in teoria, se si utilizza un simile cms / app che struttura i dati nello stesso modo in cui si dovrebbe essere in grado di tirare le inserzioni di menu dal db in meno tempo per ottenere tutti i bambini della corrente pagina id / una qualche forma di simile query basata contesto.

È possibile (come mi è stato detto) però abbattere le Sitemap per mappe parziali più piccoli poi tirare le liste di menu da quelli per aumentare le prestazioni.

Se invece il vostro sito ha meno di 500 pagine che metterebbe in dubbio la codifica ... si tratta di una mappa del sito personalizzato? È il fornitore in attesa di serrature di risorse o qualcosa del genere?

Avete considerato tirando i dati utilizzando la classe XmlDocument, invece? (Solo un pensiero)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top