Partager via


Procédure pas à pas : intégration du traçage ASP.NET avec le traçage System.Diagnostics

Mise à jour : novembre 2007

Cette procédure décrit comment intégrer des techniques de traçage ASP.NET avec System.Diagnostics et enregistrer tous les messages de trace dans une sortie de traçage unique.

Vous pouvez utiliser le traçage pour suivre le flux d'exécution de votre application, afficher des données à des points critiques pendant le cycle de vie d'un formulaire Web et découvrir comment les formulaires Web interagissent avec d'autres composants de votre application. À l'aide du traçage, vous pouvez examiner les paramètres de demande HTTP qui sont soumis à votre application, la quantité de mémoire stockée dans l'état d'affichage d'un formulaire Web particulier et d'autres informations utiles sur les profils.

Le mécanisme de traçage ASP.NET écrit des messages qui sont affichés sur les pages Web ASP.NET et sur la visionneuse de trace (Trace.axd) ASP.NET, tandis que la classe Trace est utilisée pour écrire des messages de trace dans la sortie de trace .NET Framework standard (en général une fenêtre de console). Pour simplifier le suivi de l'interaction des formulaires Web avec les objets métier et les autres composants, vous pouvez intégrer la sortie de traçage ASP.NET avec System.Diagnostics traçant pour router tous les messages de traçage vers l'un de ces résultats.

Les scénarios courants qui utilisent à la fois le traçage ASP.NET et la classe Trace incluent des pages Web qui utilisent des objets métier de couche intermédiaire pour interagir avec les données et les règles métier et les pages qui utilisent ces services d'entreprise, tels que les transactions et les files d'attente. Dans ces situations, les composants de métier et d'entreprise jouent des rôles clés dans la réussite de l'exécution de la page et seul le contrôle du flux d'exécution des pages à travers plusieurs couches de votre application à l'aide d'une sortie de traçage unique est souhaitable.

Dans cette procédure pas à pas, vous utiliserez le traçage. Vous modifierez une page Web et un objet métier pour écrire des messages de trace, puis routez tous les messages à une sortie de traçage.

Cette procédure pas à pas illustre les tâches suivantes :

  • Création d'un composant métier personnalisé qui peut retourner des données sur une page Web. Le composant lit les données à partir d'un fichier XML.

  • Création d'une page Web qui fait référence à l'objet métier personnalisé comme source de données.

  • Activation du traçage pour la page Web qui fait référence à l'objet métier.

  • Écriture de messages de trace à la page Web qui fait référence à l'objet métier.

  • Écriture de messages Trace dans un objet métier personnalisé.

  • Configuration d'une application ASP.NET pour écrire tous les messages de trace dans un seul résultat.

  • Lecture de la sortie de trace.

Composants requis

Pour effectuer cette procédure pas à pas, vous avez besoin des éléments suivants :

  • Microsoft .NET Framework et un site Web ASP.NET existant.
Remarque :

Cette procédure pas à pas ne suppose pas que vous utilisez un concepteur, tel que l'outil de développement Web Microsoft Visual Web Developer ou Microsoft Visual Studio.

Création d'une page Web et d'un objet métier

Dans cette procédure pas à pas, vous créerez la page Web Default.aspx, un objet métier AuthorClass et le fichier de données XML Authors.xml qui est requis pour les étapes ultérieures de cette procédure pas à pas qui implique le traçage.

Vous pouvez copier et coller le code source dans des fichiers de votre répertoire ASP.NET. Ainsi, l'objet métier , AuthorClass de la page Web de Default.aspx et le fichier Authors.xml sont créés.

Pour créer la page Default.aspx

  1. Ouvrez un éditeur de texte, tel que le Bloc-notes et créez un fichier.

  2. Entrez le code suivant dans le fichier.

    <%@ Page Language="VB" %>
    <html>
    <form >
        <asp:objectdatasource
          id="AuthorsObjectDataSource"
    
          typename="PubsClasses.AuthorClass"
          selectmethod="GetAuthors"/>
    
        <asp:gridview
          id="GridView1"
    
          datasourceid="AuthorsObjectDataSource" />
    </form>
    </html>
    
    <%@ Page Language="C#" %>
    <html>
    <form >
        <asp:objectdatasource
          id="AuthorsObjectDataSource"
    
          typename="PubsClasses.AuthorClass"
          selectmethod="GetAuthors"/>
    
        <asp:gridview
          id="GridView1"
    
          datasourceid="AuthorsObjectDataSource" />
    </form>
    </html>
    
  3. Enregistrez le fichier dans le répertoire racine de l'application ASP.NET sous Default.aspx.

La page Default.aspx utilise un objet métier nommé AuthorClass pour interagir avec les données XML.

Pour créer l'objet métier AuthorClass

  1. Sous le répertoire racine de l'application, créez un répertoire nommé App_Code.

  2. Dans un éditeur de texte, tel que le Bloc-notes, ouvrez un nouveau fichier.

  3. Entrez le code suivant dans le fichier.

    Imports Microsoft.VisualBasic
    Imports System
    Imports System.Web
    Imports System.Data
    Namespace PubsClasses
        Public Class AuthorClass
            Private dsAuthors As DataSet = _
                New System.Data.DataSet("ds1")
            Private filePath As String = _
               HttpContext.Current.Server.MapPath("~/App_Data/authors.xml")
            Public Sub New()
                dsAuthors.ReadXml(filePath, Data.XmlReadMode.ReadSchema)
            End Sub
    
            Public Function GetAuthors() As DataSet
                Return dsAuthors
            End Function
        End Class
    End Namespace
    
    using System;
    using System.Web;
    using System.Data;
    namespace PubsClasses
    {
        public class AuthorClass
        {
            private DataSet dsAuthors = new DataSet("ds1");
            private String filePath =
                HttpContext.Current.Server.MapPath("~/App_Data/authors.xml");
    
            public AuthorClass()
            {
                dsAuthors.ReadXml (filePath, XmlReadMode.ReadSchema);
            }
    
            public DataSet GetAuthors ()
            {
                return dsAuthors;
            }
        }
    }
    
  4. Dans le répertoire App_Code, enregistrez le fichier sous AuthorClass.cs (pour C#) ou AuthorClass.vb (pour Microsoft Visual Basic).

Le fichier de données utilisé par AuthorClass est Authors.xml.

Pour activer le traçage et afficher les messages de trace ASP.NET

  1. Sous le répertoire racine de l'application, créez un répertoire nommé App_Data.

  2. Dans un éditeur de texte, tel que le Bloc-notes, ouvrez un nouveau fichier.

  3. Entrez les données XML suivantes dans le fichier.

    Le fichier XML inclut des informations de schéma qui identifient la structure de la base de données des données. Il inclut une contrainte de clé primaire pour la clé.

    Remarque :

    Les composants métier peuvent utiliser toutes sortes de données, tant qu'elles sont adaptées à votre application. Pour des raisons de commodité, cette procédure pas à pas utilise un fichier XML.

    <?xml version="1.0" standalone="yes"?>
    <dsPubs xmlns="http://www.tempuri.org/dsPubs.xsd">
    <xs:schema id="dsPubs" targetNamespace="http://www.tempuri.org/dsPubs.xsd" xmlns:mstns="http://www.tempuri.org/dsPubs.xsd" xmlns="http://www.tempuri.org/dsPubs.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified">
        <xs:element name="dsPubs" msdata:IsDataSet="true">
          <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element name="authors">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="au_id" type="xs:string" />
                    <xs:element name="au_lname" type="xs:string" />
                    <xs:element name="au_fname" type="xs:string" />
                    <xs:element name="au_phone" type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:choice>
          </xs:complexType>
          <xs:unique name="Constraint1" msdata:PrimaryKey="true">
            <xs:selector xpath=".//mstns:authors" />
            <xs:field xpath="mstns:au_id" />
          </xs:unique>
        </xs:element>
      </xs:schema>
      <authors>
        <au_id>172-32-1176</au_id>
        <au_lname>White</au_lname>
        <au_fname>Gerry</au_fname>
        <au_phone>408 496-7223</au_phone>
      </authors>
      <authors>
        <au_id>213-46-8915</au_id>
        <au_lname>Green</au_lname>
        <au_fname>Marjorie</au_fname>
        <au_phone>415 986-7020</au_phone>
      </authors>
    </dsPubs>
    
  4. Dans le répertoire App_Data, enregistrez le fichier sous Authors.xml, puis fermez-le.

Ajout de messages de trace à une page Web et un objet métier

Une fois que vous avez créé la page Default.aspx, le fichier de données Authors.xml et l'objet métier AuthorClass, vous pouvez commencer à utiliser le traçage. Avant d'ajouter des messages de trace à votre code, activez le traçage pour la page Default.aspx.

Pour activer le traçage et afficher les messages de trace ASP.NET

  1. Dans un éditeur de texte, tel que le Bloc-notes, ouvrez la page Default.aspx.

  2. Ajoutez un attribut Trace à la directive @ Page, puis affectez true à Trace.

    La déclaration active le traçage ASP.NET de la page Web.

    Pour plus d'informations, consultez Comment : activer le traçage d'une page ASP.NET.

Le traçage de page est maintenant activé et lorsque vous consultez la page dans un navigateur Web, vous verrez que le contrôle GridView est suivi par la sortie de traçage. Le deuxième tableau de traçage affiché, Informations de traçage, vous fournit des informations détaillées sur le chemin d'exécution de la page Web.

Pour plus d'informations sur la lecture de la sortie de traçage, consultez la rubrique Lecture des informations de traçage ASP.NET.

Écriture de messages de trace

Pour mieux comprendre où certaines actions ASP.NET de base se produisent, telles que la liaison de données exécutée par le contrôle GridView dans la page Default.aspx, ajoutez des messages de trace à la page Web et l'objet métier AuthorClass.

Pour écrire des messages de trace à partir d'un formulaire Web

  • Dans votre page Web Default.aspx, entrez le code suivant après la directive @ Page mais avant la balise <html>.

    <script >
    
    Private Sub Page_Load(sender As Object, e As EventArgs)    
        Trace.WriteLine("ASP.NET TRACE","page_load called.")
        Trace.WriteLine("ASP.NET TRACE","page_load finished.")
    End Sub ' Page_Load
    
    </script>
    
    <script >
    private void page_load(object sender, EventArgs e) {
    
        Trace.WriteLine("ASP.NET TRACE","page_load called.");
        Trace.WriteLine("ASP.NET TRACE","page_load finished.");
    }
    </script>
    
    Remarque :

    Vous êtes susceptible de devoir inclure un attribut de langage dans votre directive @ Page en fonction du langage que vous utilisez.

Ces messages de trace sont écrits dans la sortie de trace ASP.NET et lorsque vous consultez une nouvelle fois la page Default.aspx, vous verrez les messages de trace dans la section Informations de traçage, entre "Begin Load" et "End Load". "Begin Load" et "End Load" sont associés à la méthode Page_Load.

Maintenant, vous devez ajouter des messages de trace à l'objet métier AuthorClass.

Pour écrire des messages de trace à l'objet métier AuthorClass

  1. Entrez le code suivant dans le constructeur AuthorClass.

    System.Diagnostics.Trace.Write("AuthorClass is created.", "AUTHORCLASS TRACE")
    
    System.Diagnostics.Trace.Write("AuthorClass is created.", "AUTHORCLASS TRACE");
    
  2. Entrez le code suivant dans la méthode AuthorClass.GetAuthors.

    System.Diagnostics.Trace.Write("GetAuthors called.","AUTHORCLASS TRACE")
    
    System.Diagnostics.Trace.Write("GetAuthors called.","AUTHORCLASS TRACE");
    
    Remarque :

    Lorsque vous utilisez la méthode ASP.NET TraceContext.Write, la catégorie de trace apparaît en-avant du message de trace dans la liste de paramètres de la méthode. Toutefois, lorsque vous utilisez la méthode Write de traçage .NET Framework, le message de trace apparaît en-avant de la catégorie de trace.

Si vous compilez l'objet métier qui possède l'option du compilateur TRACE, ces messages de trace sont écrits dans la sortie de trace système. Les messages de trace ne sont pas écrits sur la page Default.aspx, comme les messages de trace ASP.NET. Pour vous en assurer, consultez la page Default.aspx et vérifiez que seuls les mêmes messages "Traçage ASP.NET" apparaissent dans le tableau Informations de traçage affiché précédemment.

Dans la section suivante, vous apprendrez comment configurer votre application Web ASP.NET pour effectuer des compilations automatiques avec l'option TRACE activée et router tous les messages de trace à la page Web.

Routage de l'ensemble de la sortie de traçage au Web Form

Le routage des messages Trace qui sont contenus dans l'objet métier AuthorClass à la sortie de trace ASP.NET peut vous indiquer si AuthorClass est créé et manipulé pendant le traitement d'une demande et vous donner un affichage plus holistique de ce que fait votre application. Pour router des messages Trace à une page ASP.NET Web, vous devez ajouter un objet WebPageTraceListener. Vous pouvez ajouter un écouteur de la trace dans la configuration (recommandé) ou par programme. Pour plus d'informations sur l'ajout d'un écouteur de la trace dans la configuration, consultez <listeners>, élément de <trace>.

Pour la procédure suivante, vous aurez besoin d'un fichier Web.config. Si vous avez déjà un fichier Web.config, passez la procédure suivante et allez à la prochaine dans laquelle vous ajouterez un objet WebPageTraceListener.

Pour créer un fichier Web.config

  1. Ouvrez un éditeur de texte, tel que le Bloc-notes et créez un fichier.

  2. Entrez le texte suivant dans le fichier.

    <!-- Web.Config Configuration File -->
    <configuration>
        <system.web>
            <customErrors mode="Off"/>
        </system.web>
    </configuration>
    
  3. Enregistrez le fichier dans le même répertoire que Default.aspx sous Web.config.

Ensuite, vous devez ajouter un objet WebPageTraceListener à votre application pour acheminer des messages Trace à la sortie de traçage ASP.NET.

Pour ajouter un WebPageTraceListener à votre application dans la configuration

  1. Ouvrez le fichier Web.config de votre application.

  2. Placez le code suivant dans votre fichier Web.config après la section <system.web>.

    <system.diagnostics>
      <trace>
        <listeners>
           <add name="WebPageTraceListener" 
                type="System.Web.WebPageTraceListener, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        </listeners>
      </trace>
    </system.diagnostics>
    

    Cette section de configuration ajoute un objet WebPageTraceListener à la collection d'écouteurs de la trace pour votre application.

L'ajout d'un WebPageTraceListener à l'aide du fichier de configuration de votre application est la méthode recommandée. Vous pouvez également ajouter par programme l'écouteur de la trace, ce qui est particulièrement utile si vous utilisez des logiques de traçage complexes et différents types d'écouteurs de la trace pour tracer votre application, et WebPageTraceListener en est un parmi de nombreux.

Si vous souhaitez ajouter par programme un écouteur de la trace à votre application, créez un fichier Global.asax et ajoutez l'écouteur en suivant les étapes suivantes.

Pour créer un fichier Global.asax et ajouter un écouteur de la trace par programme

  1. Ouvrez un éditeur de texte, tel que le Bloc-notes et créez un fichier.

  2. Entrez le code suivant dans le fichier.

    <%@ Application Language="VB" %>
    <%@ Import Namespace="System.Web" %>
    
    <script >
      Sub Application_Start(sender As Object, e As EventArgs) 
        ' Code that runs when the application is started.
      End Sub
    
      Sub Application_End(sender As Object, e As EventArgs)
        ' Code that runs when the application shuts down.
      End Sub    
    </script>
    
    <%@ Application Language="C#" %>
    <%@ Import Namespace="System.Web" %>
    
    <script >
    
        void Application_Start(Object sender, EventArgs e) {
            // Code that runs when the application is started.
        }
    
        void Application_End(Object sender, EventArgs e) {
            // Code that runs when the application shuts down.
        }        
    </script>
    
  3. Dans le répertoire racine de votre application, enregistrez le fichier sous Global.asax.

    Cette procédure permet de créer un fichier Global.asax de base qui est un module compilé qui contient le code qui s'exécute à chaque fois que l'application est lancée ou arrêtée.

  4. Entrez le code suivant dans la méthode Application_Start de votre fichier Global.asax.

    ' Create a trace listener for Web forms.
    Dim gbTraceListener As New WebPageTraceListener()
    ' Add the event log trace listener to the collection.
    System.Diagnostics.Trace.Listeners.Add(gbTraceListener)
    
    // Create a trace listener for Web forms.
    WebPageTraceListener gbTraceListener = new WebPageTraceListener();
    // Add the event log trace listener to the collection.
    System.Diagnostics.Trace.Listeners.Add(gbTraceListener);
    

    Cela ajoute par programme un WebPageTraceListener à la collection d'écouteurs de la trace de votre application.

  5. Dans le même répertoire que Default.aspx, enregistrez le fichier sous Global.aspx.

Ces étapes vous ont permis d'ajouter un WebPageTraceListener à la collection d'écouteurs de la trace de l'application. Bien qu'ASP.NET affiche des messages de trace à chaque fois que le traçage est activé pour une page, les messages de trace System.Diagnostics sont écrits uniquement lorsque le code dans lequel les messages de trace résident est compilé à l'aide d'un commutateur de compilation explicite, le commutateur TRACE. En d'autres termes, si vous ne compilez pas explicitement AuthorClass à l'aide du commutateur TRACE, les messages de trace ne s'afficheront pas, même si le WebPageTraceListener est ajouté.

Vous pouvez configurer votre application pour effectuer une compilation automatique à l'aide du commutateur TRACE, en ajoutant une nouvelle section à votre fichier Web.config.

Pour compiler automatiquement votre application avec la trace activée

  1. Ouvrez le fichier Web.config de votre application.

  2. Placez le code suivant dans votre fichier Web.config après la section <system.diagnostics>.

    <system.codedom>
      <compilers>
        <compiler language="c#;cs;csharp" 
                  extension=".cs" 
                  compilerOptions="/d:TRACE"
                  type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1" />
        <compiler language="VB"
                  extension=".vb" 
                  compilerOptions="/d:Trace=true"
                  type="Microsoft.VisualBasic.VBCodeProvider, System,                                        Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </compilers>
    </system.codedom>
    

    Par défaut, à l'aide de cette section de configuration, votre application peut compiler tous les modules avec l'option TRACE.

Si vous consultez maintenant la page Default.aspx, vous consulterez à la fois ASP.NET et les messages de trace System.Diagnostics. Si le ASP.NET et les messages de trace System.Diagnostics n'apparaissent pas, vous êtes susceptible de devoir recompiler l'objet AuthorClass.

À partir des informations de traçage, vous pouvez remarquer que l'objet AuthorClass est créé et que sa méthode GetAuthors est appelée pendant la méthode PreRender du cycle de vie de la page Web. Vous pouvez également remarquer qu'il y a un décalage significatif lorsque l'objet AuthorClass est créé ; la différence dans le temps entre le message "Begin PreRender" et le message "AuthorClass is created." est significatif. Cela est dû au fait que AuthorClass ouvre le fichier Authors.xml et initialise son DataSet pendant la création, qui est une opération relativement coûteuse.

Dans la section suivante, vous apprendrez à configurer votre application Web ASP.NET pour acheminer tous les messages de trace vers la sortie de traçage .NET Framework.

Routage de l'ensemble de la sortie de traçage au traçage .NET Framework

Vous pouvez souhaiter acheminer des messages de traçage ASP.NET à la sortie standard des messages Trace, qui peut être une fenêtre de console, un disque, le journal des événements Windows ou toute autre sortie de message de trace. Vous pouvez activer ce routage de messages dans le fichier de configuration Web.config.

Pour acheminer tous les messages de trace ASP.NET vers la sortie de traçage du système

  1. Ouvrez le fichier Web.config de votre application.

  2. Ajoutez un nouvel attribut, writeToDiagnosticsTrace, à l'élément trace sous <system.web>, puis affecte true à writeToDiagnosticsTrace.

        <system.web>
          <trace writeToDiagnosticsTrace="true"/>
          <customErrors mode="Off"/>
        </system.web>
    

    Cet attribut de configuration indique le traçage ASP.NET pour acheminer des messages de trace ASP.NET au mécanisme de la sortie de traçage du système standard.

    Pour consulter le ASP.NET et les messages de trace System.Diagnostics dans un contexte à l'extérieur d'une page ASP.NET, utilisez un objet TextWriterTraceListener pour écrire les messages de trace dans un fichier.

    L'objet TextWriterTraceListener doit être configuré pour écrire dans un fichier spécifique. Pour ce faire, utilisez l'attribut initializeData de <add>, élément de <listeners> pour <trace>.

  3. Procédez de la même manière que pour ajouter l'objet WebPageTraceListener dans la deuxième procédure dans "Routage de l'ensemble de la sortie de traçage au Web Form", plus avant dans cette procédure pas à pas, pour ajouter un objet TextWriterTraceListener à votre fichier Web.config et configurer le TextWriterTraceListener à écrire dans un fichier contenu dans le répertoire racine de l'application nommé Asptesttrace.log.

    Si vous n'avez pas ajouté de WebPageTraceListener par programme dans le fichier Global.asax, la section <system.diagnostics> du fichier Web.config sera semblable à :

    <system.diagnostics>    
      <trace autoflush="true">
        <listeners>
          <add name="WebPageTraceListener" 
            type="System.Web.WebPageTraceListener, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
          <add name="TestTracer" 
            type="System.Diagnostics.TextWriterTraceListener, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
            initializeData="<app root directory>\Asptesttrace.log" />
        </listeners>
      </trace>
    </system.diagnostics>
    
    Remarque :

    L'attribut initializeData de l'étape précédente a une valeur d'espace réservé pour le répertoire racine de l'application ASP.NET. Si vous essayez d'écrire des messages de trace dans un fichier autre que le répertoire racine de votre application, vous pouvez recevoir une exception de sécurité. Par défaut, ASP.NET n'autorise pas l'écriture de fichiers aux emplacements sur le disque situés à l'extérieur du répertoire racine de l'application, tels que C:\. En outre, vous pouvez devoir accorder l'autorisation en écriture dans le journal des traces pour le compte du processus de traitement ASP.NET.

    Par défaut, vous devez attendre pour remplir la mémoire tampon de trace avant que les données de trace soient écrites dans le flux de données cible.

  4. Pour consulter immédiatement les données de trace dans le journal des traces après avoir demandé votre page ASP.NET, videz la mémoire tampon avec chaque écriture de trace en affectant true à l'ensemble d'attributs autoflush comme dans l'étape précédente.

    La valeur par défaut de l'attribut autoflush est false.

  5. Pour vider par programme la mémoire tampon d'informations de traçage, appelez la méthode Flush.

    Remarque :

    Pour l'objet métier que vous avez développé dans cette procédure pas à pas, si vous appelez la méthode Flush dans la méthode Page_Load et que l'attribut autoflush est false, le journal des traces n'affichera pas les données de trace parce que l'objet métier est restitué après que l'événement Load de la page s'est produit.

Étapes suivantes

Cette procédure pas à pas illustre comment utiliser ASP.NET et les fonctionnalités de traçage System.Diagnostics pour acheminer tous les messages de trace vers une sortie unique. Vous pouvez souhaiter effectuer davantage d'essais avec les écouteurs de la trace, la sortie et fonctionnalités d'instrumentation ASP.NET. Par exemple, vous pouvez souhaiter procéder comme suit :

  • Ajoutez un objet EventLogTraceListener à votre application.

    Pour ce faire, vous devez ajouter un objet EventLogTraceListener par programme ou en utilisant le fichier de configuration qui utilise la même procédure que le WebPageTraceListener. Vous pouvez ouvrir le journal des événements pour examiner les messages de trace que votre application écrit dans le journal des événements.

  • Modifiez le composant métier pour utiliser des données de base de données au lieu d'un fichier XML. Vous n'avez pas besoin d'apporter de modification aux contrôles sur la page.

Voir aussi

Autres ressources

Traçage ASP.NET

Lecture des informations de traçage ASP.NET

Vue d'ensemble du traçage ASP.NET au niveau de l'application