Optimierungsmöglichkeiten mit dem Scripmanager

Zugriffe: 3661 starstarstarstarstarstarstarstarstarstar Bewertung:4 (4 Bewertungen) 08.11.2009

Wer im Rahmen seiner Anwendungsentwicklung geneigt ist, das AjaxToolkit einzusetzen, dem müssten dann und wann schon einmal Bedenken hinsichtlich der Performance gekommen sein. Mich hat es die Tage jedenfalls beschäfftigt, so dass ich mich im Netzt einmal auf die Suche nach einer passenden Lösung gemacht habe.

In diesem Blogbeitrag bin ich dann fündig geworden. Ein interessanter Aspekt ist sicher der Einsatz von HttpWatch. Es muss jedoch erwähnt werden, dass mit Fiddler ähnliche Informationen sich ermitteln lassen. Ebenso gut bekommt man auch Informationen über Firebug angezeigt. Seit dem Internet Explorer 8 kommt dieser mit einem recht ordentlichen Entwicklertool daher, das sich über F12 aufrufen lässt.

Bild1

über den Tab "Profiler" kann man das Lade- und Aufrufverhalten seiner Javascripte genau analysieren.

Was die Einstellungen in der web.config-Datei angeht, ist man sicher gut beraten, wenn man hier noch einmal nachliest. Der für mich interessante Part war die Einstellungen zur Kompression und zum Cacheverhalten, wie in dem o.g. Blogbeitrag erwähnt.

Um die Einstellung EnablePartialRendering="true" kommt man indes beim Updatepanel wohl nicht herum. Auch kann ich die Aussage nicht teilen, LoadScriptBeforUI="false" sei eine optimale Einstellung. Ich habe z.B. den CalendarExtender innerhalb eines Updatepanels im Einsatz und da löst LoadScriptBeforUI="false" ein Fehlverhalten in der Form aus, dass der Extender erst gar nicht funktioniert. Erst wenn ich LoadScriptBeforUI="true" setze, funktioniert auch der Extender wieder. Ich denke, hier muss jeder den Einzelfall berücksichtigen.

Eine vorteilhafte Entscheidung ist es jedoch, statt des Standardscriptmanagers den des AjaxToolkit einzusetzen. Dieser verfügt über eine Möglichkeit, nur die Scripte des Toolkit zu laden, deren Controls auf der Seite auch verarbeitet werden.

Mit der Eigenschaft CombineScripts="true" und der Angabe eines HttpHandlers in der Eigenschaft CombineScriptsHandlerUrl kann man den ToolkitScriptmanger dazu bringen, die Scripte nicht einzeln zu laden sondern die Scriptressourcen in einer zusammenzufassen.

Im HttpHandler muss man lediglich folgenden Aufruf platzieren:

ToolkitScriptManager.OutputCombinedScriptFile(context)

Man ist gut beraten, sollte der Aufruf false zurückgeben, dies entsprechend auszuwerten.


Neuen Kommentar verfassen

Bestätigungscode