ASP.NET Sayfalarının İzlenmesi (Trace)

Eyl 06, 2013

Sayfa izleme işlemi ASP.NET sayfaları hakkında geliştiriciye ya da istenirse kullanıcıya çeşitli bilgileri vermek amacıyla kullanılan bir raporlama türüdür. İzleme Web uygulamasının çalışma zamanındaki işlemler ile ilgili bilgilendirici mesajlar almayı sağlayan bir işlemdir. Bu mesajlar programcıya problemleri gidermede, performans analizinde yardımcı olur. .NET  programcıya tracing (sayfa izleme) işlemi için iki adet nesne sağlar. Bunlar; "Trace" ve "Debug" nesneleridir.
Web uygulamasında Debug ve Trace nesnelerini kullanarak, şu işlemler yapılabilir:

  • Değişkenlerin taşıdığı değerleri çıkarabilme
  • Belirli şartlar sağlandığı zaman değişkenlerin değerlerini çıkarabilme
  • Kod bloklarının çalışma akışını takip etme, doğru sıra ile çalıştığını kontrol edebilme

ASP.NET'te iki tür izleme metodu vardır. Bunlar:

  1.  Sayfa Bazında İzleme
  2. Bir sayfaya  ilişkin  izleme  bilgilerini görüntülemek için ilgili sayfadaki @Page yönergesinin Trace niteliğinin sayfaya eklenmesi gereklidir. Varolan bir ASP.NET sayfası yada Visual Studio.NET  kullanılarak basit bir ASP.NET sayfası oluşturulup @Page yönergesinin bulunduğu satır aşağıdaki gibi değiştirilir.

    Not: Eğer trace özelliği true olacak şekilde değiştirilmezse sayfa izleme  çıktılarını elde edilemez.

    <@Page Language="C#" Trace="true" AutoEventWireUp="true" CodeFile="Default.aspx.cs" Inherits="_Default">

    Sayfa bazında izleme işlemi genellikle geliştiriciye kolaylık sağlanması amacı ile yapılmaktadır. Bir sayfa  izlenmeye açıldığında sayfaya istekte bulunan bütün kullanıcılar izleme çıktılarını görebilir.

  3. Uygulama Bazında İzleme
  4. İzleme işlemlerinin içinde en çok kullanılan yöntem bir uygulamanın tümüyle izlenilmesidir. Bu yöntem sayfa bazında izleme yöntemine göre bir çok ek özellik içerir ve bir uygulamayı izlemek için uygulamanın bulunduğu klasörde bulunan web.config adlı yapılandırma dosyasında değişiklik yapılması gerekmektedir. 

    Trace Öğesi  (ASP.NET Ayarlar  Şeması)

    <trace
         enabled="true"
         localOnly="true"
         requestLimit="10"
         pageOutput="true"
         mostRecent="true"
         writeToDiagnosticsTrace="true"
         traceMode="SortByTime"
    />

    Visual Studio.NET ile yeni bir ASP.NET uygulaması oluşturulduğunda web.config dosyasında bulunan trace elemanının enabled niteliği false değerdedir. Bu niteliğin true yapılması  uygulama düzeyinde izleme işleminin başlamış olduğu anlamına gelir.

    Web.config dosyasında yapılan değişikliklerde en önemli nokta trace elemanının localOnly niteliğidir. Bu nitelik true olduğu takdirde yukarıda belirtildiği gibi uygulama düzeyinde izleme işlemi çıktısının sadece geliştiricinin kullandığı makinede görüntülenebileceği anlamına gelir. İzleme bilgilerinin kullanıcılar tarafından görüntülenmesi istenmiyorsa bu niteliğin değerinin false yapılması gerekir.

İstek Detayları (Request Details) : Bu bilgiler ile bir sayfanın sunucudan istenirken kullandığı yöntemler verilir. Açılan oturumun kimliği, açılan oturuma özel olarak verilen kimlik numarası, şifreleme tekniğinin türü ve isteğin türü gibi bilgiler bu başlıkta yer alır.

 

İzleme Bilgileri (Trace Information) : Sayfaların izlenirken, izlenme işlemi ile ilgili bilgilerin toplandığı başlıktır. İzleme bilgilerinin elde edilme süresi, izleme işleminin kategorisi yada izleme ile ilgili ayrıntılı bilgiler bu başlıktadır.

 

Kontrol Ağacı (Control Tree) : ASP.NET sayfasına ait kaynak dosyada bulunan bütün kontrollerin isimleri, bu kontrollerin dönüştürülme süreleri ve kontrollerle ilgiliViewState (Görüntü Durumu) boyutunun gösteren bilgiler bu başlık altında toplanır.