Cambiare la finestra l’output del Trace di ASP.NET AJAX

Print Content | More

Fin dalla prima versione di ASP.NET esiste la possibilità di avere un tracciato del ciclo di vita della richiesta web, per poter monitorare e comprendere al meglio ciò che accade nella nostra applicazione web.
Personalmente lo ritengo uno strumento indispensabile quando si è nella situazione di dover lavorare su pagine web particolarmente complesse, in cui i fattori partecipanti alla costruzione dell’output possono rendere difficile l’individuazione di un particolare problema: proprio in questi contesti il Trace di ASP.NET può riverlarsi un ottimo alleato.

Ovviamente questo tipo di problematica si può riscontrare anche per tutte le pagine ricche di chiamate AJAX o Javascript e, per fortuna dello sviluppatore, anche in questo caso è disponibile una libreria client-side che permette di effettuare un Trace delle chiamate.
Di fatto, in una semplice pagina ASP.NET in cui sia presente uno ScriptManager è possibile invocare l’apposito metodo “Sys.Debug.trace” ed il contenuto del messaggio verrà mostrato nella finestra di output di VisualStudio.

Lo snippet seguente mostra l’utilizzo del “trace” su semplici funzioni ajax:
 

<script language="javascript" type="text/javascript">
    function testMessage(param) {
        Sys.Debug.trace(Date() + " - Button1 clicked");
    }
</script>

Lo screenshot seguente mostra la finestra di Output di Visual Studio che presenta il messaggio invocato dal trace via javascript:

8-11-2009 2-05-44 PM

Personalmente non ritengo molto comoda la visualizzazione dei Trace invocati tramite javascript nella finestra di output, in quanto vengono mischiati ad altre informazioni generate da Visual Studio stesso o dal compilatore.
Fortunatamente è possibile aggiungere, in alternativa, una textarea all’interno della pagina web, che mostrerà tutti i Trace client-side. Per poter sfruttare questa modalità è necessario aggiungere una textarea all’interno della pagina web in cui si desidera mostrare il Trace, ed il suo ID dovrà essere “TraceConsole”, come mostrato dallo snippet seguente:

<asp:TextBox Columns="100" Rows="5" runat="server" ID="TraceConsole" TextMode="MultiLine"></asp:TextBox>

Lo screenshot seguente mostra il trace nella textarea in azione.

8-11-2009 2-04-41 PM

Ulteriori informazioni riguardarti il Trace di applicazioni web sono disponibili qui.


Ajax , ASP.NET , Trace

0 comments

Related Post

The comments for this post are closed.

  1. There is no TrackBack for this post.