Makale Özeti

Yazılım geliştiricilerin en sık kullandığı tekniklerden birine ASP.NET altında göz atıyoruz

Makale

Yazılım geliştiricilerin uygulama geliştirirken yazmış oldukları kodlara hangi değerlerin geldiği, nerede hangi değerin hangi değişkene atandığı, sayfanın hangi değerleri post ettiği ve hangi değerleri aldığı gibi bilgilere ihtiyaç duyması üzerine bu değerleri inceleyebilmek için mekanizmalar oluşturuldu, buna trace diyoruz. ASP teknolojisi ile trace yapabilmek için kullanılan method ise ekrana response.write ile değerleri yazdırmaktı. Bu birçok yazılım geliştirici tarafından kullanıldı ve halen birçok uygulamada kullanılıyor.

ASP.NET trace işlemini gerçekten mükemmel kılıyor, çünkü ASPde yaptığımız response.write yöntemi yerine çok daha profesyonel şekilde bu işlemi gerçekleştirebiliyoruz. Peki öncelikle ASPdeki yöntemin sorunu neydi, neden bunu değiştirme gereği daha doğrusu geliştirme gereği hissedildi? Çünkü yapmış olduğunuz kod eklentileri, uygulama canlı halde çalışırken de çalışıyordu, o zaman canlıda çalışırken bu kodları ortadan kaldırmak zorunda kalıyordunuz. Peki ya canlı sistem üzerinde bir şeyi trace etmek isterseniz? İşte bu zaman canlı sisteme bakan bir test sistemi kurmak zorunda kalıyordunuz ki, bu en başta development mantığına aykırı bir yaklaşım.

İsterseniz hemen sayfa içerisinde nasıl kullanılacağını görelim, ardından üzerinde tartışma devam edelim:

<%@ Page Language="VB" Trace="true" %>

ASP.NET sayfamızın ilk satırı olarak yukarıdaki kodları yazdığımızda artık o sayfa için trace işlemini açmış oluyoruz. Böylelikle anlıyoruz ki, default olarak gelen değer, yani biz hiçbir şey belirtmezsek gelen değer "false". Artık sayfamızda trace özelliğini kullanabiliyoruz peki bunun sıralama gibi methodları var mı, evet var. Hemen örneğe bakalım;

<%@ Page Language="VB" Trace="true"
TraceMode="SortByCategory" %>

Görüldüğü gibi TraceMode değerine farklı methodlar bağlayabiliyoruz. Bunlardan birincisi örnekte gördüğünüz "SortByCategory", yaptığı ise kategori bazında sıralı getirmek trace bilgisini. Diğer method ise "SortByTime", bu method ile de zaman sıralı olarak trace bilgisi görüntülenebiliyor.

Peki trace mesajlarını nasıl görebiliriz? Response.writedan bahsetmiştik yazımızın başında, işte buna çok yakın bir yöntem ile trace bilgisini ekrana getirmek çok kolay: "Trace.Write". Bu yöntem ile ekrana yazdırdığımız değerler normal yazı tipinde olacaktır. İkinci yöntem ise "Trace.Warn" kullanmak. Böylelikle ekrana bilgileri kırmızı olarak yazıdırmak mümkün, adından da anlaşıldığı gibi uyarma amaçlı bilgilendirme için kullanılıyor.

Trace.Write ("kategori", "mesaj")
Trace.Warn ("kategori", "mesaj")

Bazı sayfalarda sadece trace seçeneği açık ise şunu yap demek isteyebilirsiniz. Böylelikle sadece trace modundayken belirli değerleri ekrana yansıtabilir, uygulama canlı ortamda çalışırken sorun çıkmasını engellemiş olursunuz. Bunu bir boolean ifade ile kontrol etmek mümkün "Trace.IsEnabled". Bu ifade eğer doğru ise bize true değerini döndürecektir.

<%
If Trace.IsEnabled
strTrace = "buraya istediğiniz trace bilgisini ekleyebilirsiniz"
End if
Trace.Write(strTrace)
%>

Bir bileşen (component) içerisinde trace yapabilmek için öncelikle System.Web kütüphanesini kullanmalısınız. Burada varolan HttpContext.Currentın Trace.IsEnabled opsiyonunu true yapmalısınız. Aynı şekilde bunu Trace.write ile ekrana yazdırmanız mümkün.

<%
Imports System.Web
HttpContext.Current.Trace.IsEnabled = true
….
httpContext.Current.Trace.Write _
("bileşen", "buraya istediğiniz trace bilgisini ekleyebilirsiniz")
%>

Gelecek yazımda sizlere Uygulama bazında nasıl trace yapabileceğinizi anlatacağım. Geleceğe umutla bakabileceğimiz bir geleceğe hep birlikte...

 

Mehmet Nuri ÇANKAYA

cankaya@aspnedir.com