Frank (no reg): Render Zeit (C#, ASP.NET)

Beitrag lesen

Hi,

was genau verstehst du nicht. Wenn Trace auf "true" gesetzt ist, bekommst du eine Seite mit verschiedenen Bereichen, z.b. <Trace Information> die dir die verschiedenen Fortschritte des gesamten Rendervorganges für dein Page-Objekt auflistet:

  • Init
  • ....
  • Pre-Render
  • SaveViewState
  • Render

siehe auch:  ASP.Net Page Life Cycle

<End Render> gibt dann die gesamtdauer des Renderprozesses an also inklusive aller anderen LifeCycle Zustände.

Weiterhin findest du den Control Tree, welcher dir aber nicht viel über die Dauer der einzelnen Render-Zeiten sagt.

Wenn du wirklich jedes Control benchmarken willst: jedes WebControl bietet (erbt) asynchrone Methodenaufrufe für den Beginn und das Ende, z.b. BeginRender(). Diese Methoden kannst du überschreiben und dann darin einen Aufruf an deine eigene Trace-Klasse weiterleiten. Dabei kannst du gern mit DateTime und TimeSpan arbeiten um dir die Totalzahl an Millisekunden etc in deine Trace-Klasse ausgeben zu lassen. Deiner Trace-Klasse kannst du dann einen "Listener" zuordnen, der fortwährend in eine Datei schreibt.

HTH, Ciao, Frank