2008-09-29 4 views
2

Lorsque je mesure les temps de requête sur "l'intérieur" d'une application Asp.Net et que je la compare aux temps de "l'extérieur" de l'application, j'obtiens des valeurs différentes - 1000-5000ms de temps à autre.Comment inspecter le pipeline de requêtes Asp.Net?

Peut-être que les requêtes sont en attente devant IIS?

Ou quelque chose d'étrange se passe-t-il dans un HttpModule?

La question: Existe-t-il un moyen d'inspecter le pipeline de requêtes pour qu'il trace exactement où le temps est passé avant que l'application ne soit touchée?

Répondre

1

Vous pouvez créer votre propre module et l'enregistrer en haut pour suivre chaque requête avec plus de précision, mais la mesure démarrera une fois que l'IIS délèguera la requête au module ASP.NET ISAPI. Pour obtenir plus de précision, vous pouvez accéder aux journaux IIS.

0

Vous pouvez activer le suivi dans votre fichier web.config. La ligne devrait dire quelque chose comme <trace enabled="true" pageOutput="true" />. La page MSDN est here.

+0

Je connais celui-ci - mais j'ai besoin d'infos sur des choses avant que l'application est touchée. Thanx anyhows :) –

2

Comme Dan dit, vous devez activer le suivi au niveau de l'application (web.config):

<!-- pageOutput enables trace output from the page itself --> 
<system.web> 
<trace enable="true" pageOutput="true" traceMode="SortByTime"/> 
</system.web> 

Ou vous pouvez activer le traçage au niveau de la page. Cela peut être fait en définissant la trace = "true" dans la directive Page.

<%@ Page Language="C#" Trace="true" 
     Inherits="System.Web.UI.Page" CodeFile="Default.aspx.cs" %> 

Le tracé de niveau application peut être consulté à partir http://localhost/appname/trace.axd. Cela montrera la liste des demandes:

http://www.brainbell.com/tutorials/ASP/images/F18GU01.png

Lorsque vous cliquez sur les détails de chaque page, vous pouvez voir combien de temps chaque événement dans le cycle de vie de la page a. Cela devrait vous aider à comprendre où exactement votre page prend plus de temps que prévu.

[Image de référence http://www.brainbell.com/tutorials/ASP/Built-in_Handlers.html]

+0

Thanx - Je n'ai jamais utilisé le gestionnaire de trace.axd et c'est sympa! Cependant, comme j'ai besoin d'informations sur le pipeline avant que l'application ne soit touchée, cela ne m'aide pas. En outre - le portail sur lequel je travaille a dupliqué controlIds (pas le mien ..) si trace ne fonctionne pas. –

+0

Nice, simple, au point. explication sur l'utilisation du traçage dans ASP.NET. - Voilà comment vous condenser 10-20 pages de phrases vides de Microsoft à la valeur de base. Bien joué! –

0

Vous voulez essayer aussi Glimpse. Il vous permet de voir les modules dans le pipeline de requêtes ainsi qu'une foule d'autres informations.

Questions connexes