Seitenrenderzeit in MVC

8

F: Wie berechne ich die Gesamtzeit, die zum Rendern einer MVC-Seite und zum Anzeigen der Zeit auf der Masterseite benötigt wird.

Im Asp.net-Webformular habe ich eine Basisseiten-Klasse wie folgt erstellt:

%Vor%

Ich würde dann die Methode auf meiner Masterseite wie folgt aufrufen:

%Vor%

F: Wie erreiche ich dasselbe mit dem MVC Framework?

F: Mit dem MVC-Framework wo setze ich die Startzeit beim Erstellen einer Seite?

    
TonyAbell 03.04.2009, 01:45
quelle

4 Antworten

11

Am besten berechnen Sie das Anfrage-Timing. Begin Request und End Request .... Schau dir diesen tollen Beitrag an:

Ссылка

    
Jalal El-Shaer 19.11.2010, 08:55
quelle
4

Gehen Sie in Ihre web.config und stellen Sie sicher, dass Sie ...

haben %Vor%

Dann können Sie Ссылка aufrufen und jede Anfrage sehen.

Dann möchten Sie in die Spalte Von Erste (n) schauen und die allerletzte ist die Zeit, die zum Rendern der Seite (Serverseite) benötigt wurde.

Beispiel ...

%Vor%

61,2 ms zum Rendern der Seite.

Wenn Sie nach Zeitcode suchen oder wenn Sie manuell einige Diagnosen durchführen möchten, möchten Sie die System.Diagnostics.Stopwatch-Klasse nicht DateTime verwenden.

%Vor%     
Chad Moran 03.04.2009 02:50
quelle
2

Ich würde wahrscheinlich die OnActionExecuting und OnActionExecuted Methoden in der Controller-Klasse.

%Vor%     
David Brown 03.04.2009 02:02
quelle
1

Erstellen Sie einen Basis-Controller und lassen Sie Ihre Controller daraus ableiten. Stellen Sie Ihre Startzeit im Konstruktor ein und überschreiben Sie Dispose () und tragen Sie dort die Berechnung der Gesamtzeit ein. Dies sollte Ihnen ein Ende-zu-Ende über das gesamte Leben der Aktion geben. Da Controller IDisposable implementiert, gehe ich davon aus, dass die Render-Engine es nach der Berechnung des Ergebnisses entsorgt und Sie nicht auf die Garbage-Collection warten müssen. Wenn sich meine Annahme als falsch herausstellt, können Sie stattdessen OnResultExecuted () verwenden.

BEARBEITEN : Die Renderzeit auf der Seite wäre relativ schwierig, weil die Seite per Definition nicht gerendert werden kann, bis Ihre Zeit auf der Seite steht und Sie nicht haben können Zeit bis zum Rendern der Seite. Sie könnten jedoch die Renderzeit in die Sitzung schreiben und dann mit AJAX zurückkehren und die Renderzeit für die spätere Anzeige abrufen. Sie können es annähern, indem Sie die Startzeit in ViewData eingeben und die Renderzeit in der Ansicht selbst berechnen. Vielleicht möchten Sie versuchen, die Renderzeit zu protokollieren und die Betrachtungsannäherung durchzuführen und zu sehen, wie nah es ist.

Dieser Code könnte zum Protokollieren der Renderzeit verwendet werden.

%Vor%     
tvanfosson 03.04.2009 01:55
quelle