İstisnaları Çevrimiçi İnceleme – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma
İstisna Kaydedici Sınıfı
Çoğu istisna günlüğü aracı, istisnaları meydana geldikçe günlüğe kaydetmek için kullanılan paylaşılan bir yönteme sahip bir sınıf içerir. Örneğin, İstisna Yönetimi Uygulama Bloğu’nu kullanarak ExceptionManager’ı çağırırsınız.
Bir istisnayı günlüğe kaydetmek için yayınla(istisna). Enterprise Library’de, istisna ilkeleri, istisnaların nasıl ele alınacağını yönetir, böylece çağrı ExceptionPolicy.HandleException(ör. “PolicyName”) gibi görünür. Karşılaştığınız diğer tüm araçların kendi işleri yapma şekli vardır, ancak bu, istisna günlüğü için “norm” olma eğilimindedir.
Bu örnekte, bir istisnayı günlüğe kaydetmek için ExceptionLogger.Log(ex) kullanacaksınız. İçinde, Günlük işlevinin istisna bilgilerini veritabanına kaydetmek için ExceptionLog nesnesini nasıl kullandığını göreceksiniz. Bu, kendi uygulamanızda özel durum günlüğü uyguladığınızda yardımcı olacaktır.
Statik ConnectionString Özellik
ExceptionLogger’ın bir veritabanına bağlanmak için kullanması gereken bağlantı dizesini belirtmek için ConnectionString özelliğini kullanırsınız. Bağlantı dizesini doğrudan Web.config’den alabilirsiniz, ancak bu yaklaşım ExceptionLogger’ı belirli bir uygulama yapılandırmasına gereksiz yere bağlar.
Bileşen yeniden kullanım için tasarlandığından, herhangi bir özel yapılandırma gereksinimi olmadan bir bağlantı dizesini kabul eden bir özelliği basitçe göstererek onu olabildiğince esnek hale getirmek daha mantıklıdır. Bu yaklaşımın tek uyarısı, bir istisnayı günlüğe kaydetmeden önce ExceptionLogger’da ConnectionString özelliğini ayarlamanız gerektiğidir. Bunu yapmak için iyi bir yer, gösterildiği gibi Global.asax dosyasındaki Application_Start yöntemidir.
Statik Günlük Yöntemi
Bir istisnayı günlüğe kaydettiğinizde, istisnanın bir istisna zinciri olarak var olma ve bir dizi iç istisnaya sahip olma ihtimalini hesaba katmanız gerekir. Bu nedenle, her bir istisnanın kendi ParentID ve ChainID’sini bilmesi gerekir, böylece hangi istisna zincirine ait olduğunu ve bu zincirdeki hangi istisnanın onun ebeveyni olduğunu bilir. Log yöntemi, bir parametre olarak ex adlı tek bir istisnayı kabul eder ve zincirdeki her istisnayı yinelemekten ve uygun istisna bilgileri, ParentID ve ChainID ile kaydetmekten sorumludur.
Log yönteminin başında, kod boyunca kullanılan tüm değişkenler için bildirimleri görebilirsiniz. Beyannamelerde dikkat etmeniz gereken birkaç husus var. İlk olarak, zincirdeki ilk istisnanın bir üst öğesi olmadığı için yöntem ParentID’yi 0’a ayarlar. Ayrıca, Guid.NewGuid() işlevini kullanarak ChainID’ye yeni bir Guid değeri atadığına dikkat edin.
Bu değer, zincirdeki tüm istisnaları birbirine bağlar ve bir istisnadan diğerine değişmez. Ve son olarak kod, ConnectionString özelliğinde tanımlanan yeni bir veritabanı bağlantı dizesi oluşturur.
Değişkenleri tanımladıktan sonra kod, veritabanı bağlantısını açar ve eski değişken artık bir istisnayı işaret etmeyene kadar devam eden bir while döngüsüne atlar. while döngüsünün içinde, Log yöntemi yeni bir ExceptionLog nesnesi oluşturur ve ardından bu nesneyi istisnanın nedenini bulmaya yardımcı olabilecek istisna ve çevresel verilerle doldurur. Bir mülkün neyi depoladığına dair hafızanızı yenilemeniz gerekiyorsa, özelliklerin ve neyi temsil ettiklerinin ayrıntılı bir listesini içerir.
ExceptionLog özellikleri ayarlandıktan sonra, Günlük işlevi, nesnenin Kaydet yöntemini ve açık veritabanı bağlantısını kullanarak ExceptionLog nesnesini kaydeder. Kaydetme başarılı olursa, yöntem parentID değişkenine kaydedilen ExceptionLog nesnesine az önce verilen değeri atar.
Bu, bir sonraki istisnanın uygun bir ParentID’ye sahip olmasını sağlar. Daha sonra ex’i ex.InnerException olarak ayarlar, bu da while döngüsünün tüm iç istisnalar kaydedilene kadar devam etmesine neden olur. While döngüsünden çıktıktan sonra, yöntem veritabanı bağlantısını kapatır ve istisna zincirindeki tüm istisnalar veritabanındadır.
çevrimiçi öğrenme ve e-öğrenme
Animonik çevrimiçi Eğitim
Çevrimiçi Eğitim net
Online çevrimiçi eğitim Nedir
Çevrimiçi öğrenme Nedir
Çevrimiçi Eğitim giriş
Çevrimiçi ders ne demek
Çevrimiçi eğitim
GetQueryStringData ve GetFormData İşlevleri
Kullanıcının bir web formuna ne girdiğini bilmek, bir istisna hata ayıklaması söz konusu olduğunda paha biçilmez bir bilgidir. Çoğu kullanıcı girişi sunucuya sorgu dizesi veya form değişkenleri biçiminde geldiğinden, sorgu dizesini kaydetmeyi ve istisna günlüğünde değişken verileri oluşturmayı çok yararlı bulacaksınız.
GetQueryString ve GetFormData işlevleri, her bir ad-değer çiftinin çıktısını kendi satırında vererek bu bilgilerin daha insan tarafından okunabilir bir biçime dönüştürülmesine yardımcı olur. Önemli miktarda dize bitiştirme devam ettiğinden, her iki işlev de dizeyi oluşturmak için StringBuilder nesnesini kullanır, çünkü bu, dizeleri hızlı ve verimli bir şekilde oluşturmak için çok uygundur.
Kodunuzda ExceptionLogger Sınıfını Kullanma
Normalde bir Try Catch ifadesinin Catch bölümünde istisna kaydediciler bulursunuz çünkü normalde burada bir istisna ile karşılaşırsınız ve oturum açmanız gerekir. Bu nedenle, normal görünümlü istisna günlüğü kodu görünüyor.
İstisnaları Çevrimiçi İnceleme
Uygulamanızda istisnaları günlüğe kaydetmeye başladıktan sonra, bu istisnaları gözden geçirmenin bir yoluna ihtiyacınız vardır, böylece bunlara öncelik vermeye ve düzeltmeye başlayabilirsiniz. Soru şu ki, bunu yapmak için ne kullanıyorsun. Basit bir çözüm, güçlü bir analiz ve sorgulama araçları seti sağladığı için veritabanını doğrudan kullanmaktır. Ayrıca, inşa etmek için herhangi bir ek zaman, para veya çaba gerektirmemesi gibi ek bir faydası da vardır.
Doğrudan veritabanı erişimini kullanmanın sorunu, siz daha büyük projeler üzerinde çalışırken yönetimin giderek daha zor hale gelmesidir. Daha büyük projelerde normalde, istisna bilgilerine erişmesi gereken geliştirici ekipleri, proje yöneticileri, kalite güvence test uzmanları ve yardım masası personeli bulunur.
Geliştiricilerin normalde bir veritabanında gezinme deneyimi olmasına rağmen, bir projedeki diğer kişiler olmayabilir. Bu nedenle, uygulamanızda bir yönetim ekranı olarak istisna bilgilerini ortaya çıkarmanız faydalı olabilir.
Takip eden bölümlerde, uygulamanızda istisna bilgilerinin nasıl listeleneceğini gösteren kısa bir örnek göreceksiniz.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)