Frage

Also, in unserer Website verwenden wir SiteMap. Für jede Anfrage wir einige Menüs machen und zu tun, dass wir SiteMap.RootNode in der Hilfsfunktion zu tun.

Wenn ich nun die Profilierung von meiner Website mit DotTrace getan habe, sah ich die get_RootNode() ist viel von Zeit zu nehmen (etwa 70-75 Millisekunden). Aber wir wissen, dass die SiteMap statisch ist. Also, ich denke in irgendwie werde ich das SiteMap.RootNode bekommen nur einmal in Application_Start und dass Zugang durch aus jeder Anforderung.

Also, meine Fragen sind,

Ist mein Ansatz richtig? Wie soll ich das tun? Oder gibt es eine effiziente Art und Weise, dass ich SiteMap.RootNode verwenden

Danke.

War es hilfreich?

Lösung

Ich habe Sitemaps vermieden genau diesem Grund. Sie sind ok bis zu ein paar hundert Seiten, sondern darüber hinaus, dass die Leistung wird zu degradieren beginnen.

Ich denke, sie sollen eine einfach sein, begann Werkzeug für kleinere Websites oder etwas Art zu werden.

schrieb ich meine eigene cms und in der Theorie, wenn Sie eine ähnliche cms / App verwenden, dass Strukturen die Daten auf die gleiche Art und Weise sollten Sie in der Lage sein, Ihre Menüanzeigen zu ziehen aus der db in kürzerer Zeit durch alle Kinder der aktuellen bekommen Seite id / irgendeine Form von ähnlicher Kontext Abfrage.

Sie können (wie mir gesagt wurde) aber brechen Sie Ihre Sitemaps in kleinere Teil Karten dann die Menüanzeigen von denen ziehen die Leistung zu erhöhen.

Wenn jedoch Ihre Website weniger als 500 Seiten würde ich die Codierung in Frage ... ist es eine eigene Sitemap? Ist der Anbieter Ressourcensperren oder etwas warten?

Haben Sie darüber nachgedacht, die Daten ziehen stattdessen die XMLDocument-Klasse? (Nur ein Gedanke)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top