İstanbul
+90 543 947 95 80
info@jeffbezosweb.com

Verileri Depolamak – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma

Web Danışmanlık Hizmeti, Seo Hizmeti Al, Mobile Uygulama Yaptır, Back Link Satın Al, Blog Yazdırmak İstiyorum, Web Sitemi Tanıtmak İstiyorum, İngilizce Blog Yazdırmak İstiyorum, Makale YAZDIRMA siteleri, Parayla makale YAZDIRMA, Seo makale fiyatları, Sayfa başı yazı yazma ücreti, İngilizce makale yazdırma, Akademik makale YAZDIRMA, Makale Fiyatları 2022, Makale yazma, Blog Yazdırma, Tasarım Yaptırmak İstiyorum, Tüm bu hizmetlerimizden yararlanmak için mail kanalımızı veya sağ alt köşedeki Whatsapp tuşumuzu kullanabilirsiniz. info@jeffbezosweb.com

Verileri Depolamak – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma

HTTP İşleyicileri– SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma

İstisna Günlüğü 

Uygulamanızda istisna günlüğü uygularken vermeniz gereken kararlardan biri, geliştirmeyi hızlandırmak için önceden oluşturulmuş bir araç mı kullanacağınız yoksa kendi aracınızı sıfırdan mı oluşturacağınızdır.

Mevcut bir aracı kullanmanızı şiddetle tavsiye ederim çünkü emrinizde bir dizi ücretsiz olarak kullanılabilen, fazlasıyla yapılandırılabilir, oldukça genişletilebilir araç var. Örneğin Microsoft, kısa süre önce, diğer şeylerin yanı sıra, sayısız özellik ve yapılandırma seçeneğine sahip Kurumsal düzeyde bir istisna yönetimi modülü içeren Enterprise Library’yi piyasaya sürdü.

Microsoft ayrıca Enterprise Library’deki istisna yönetimi modülünün öncülü olan İstisna Yönetimi Uygulama Bloğu’nu da sunar. Hala çok güçlü olan, ancak Enterprise Library’nin tüm gelişmiş yapılandırma seçeneklerine veya karmaşıklıklarına sahip olmayan, biraz geri ölçeklendirilmiş ve daha basit bir çözüm sunar.

Log4Net, İnternet’teki ana geliştirme sitelerinde ve bloglarda bulunan diğer birçok çözüm gibi popüler bir günlük kaydı çözümüdür. Bu ürünlere bağlantılar, örnek uygulamanın Bağlantılar bölümünde (Apress web sitesinin Kaynak Kodu alanında) verilmiştir veya bir arama motorunu kullanarak ürünü aramayı seçebilirsiniz.

Sonuç olarak, kişisel tercihinize ve proje ortamınıza göre hangi aracı kullanacağınıza karar vermelisiniz. Bazı durumlarda, Enterprise Library aşırı yüklenmiş olabilir veya çok fazla öğrenme eğrisi sunabilir. Diğer durumlar için, İstisna Yönetimi Uygulama Bloğu yeterli yapılandırma seçeneği sağlamayabilir. Ve başka bir araçta her zaman sizin özel ihtiyaçlarınıza o kadar uygun muhteşem bir özellik olabilir ki, sizi o aracı başka bir araç üzerinde kullanmaya zorlar.

Hangi aracı kullanmayı seçerseniz seçin, her birinin kendi özel yapılandırma seçenekleri ve genişletilebilirlik çerçevesi olması muhtemeldir. Belirli uygulama yönergeleri için belgelere başvurmanız gerekecek çünkü bu metinde bunların hepsini ele alamayacağım.

Aşağıdaki örnekte, istisna günlüğünün temellerini gösteren özel bir istisna günlüğü uygulamasına bakacaksınız. Daha sonra öğrendiklerinizi, kullanmaya karar verdiğiniz araca uygulayabilirsiniz. Ayrıca, gelecek örnekte sunulan istisna günlüğü sınıflarının, isterseniz başka bir günlük kaydı çözümünün içinde yeniden kullanılabileceğini veya kendi uygulamanız için bir başlangıç ​​noktası olarak hareket edebileceğini bilin.

Mimariye Genel Bakış

Aşağıdaki örnekte, istisna günlüğü bilgilerini bir veritabanına kaydetmeye yardımcı olacak bir dizi sınıf oluşturuyor ve bu istisnaları gözden geçirmek için web tabanlı bir arayüz oluşturuyorsunuz. Örnekteki öğelerin ve amaçlarının dökümünü sağlar.

Tam teşekküllü bir istisna günlüğü çözümünde, yapılandırmayı ve genişletilebilirliği yönetmeye yardımcı olacak çok daha fazla sınıf olacaktır. Ancak bu örnek, basitlik için çaba göstermektedir, bu nedenle çok fazla yardımcı sınıf veya işlevsellik yoktur. İstisna günlüğü bilgilerini depolamak için gereken veritabanı yapısına bakarak başlayacağız. Bundan sonra, ExceptionLog sınıfından başlayarak, gerçek sınıfları günlüğe kaydetme istisnasına geçeceğiz.

Verileri Depolamak için ExceptionLog Tablosunu Oluşturma

Bilgileri bir veritabanında depolamadan önce, verileri tutmak için uygun bir veri yapısı oluşturmanız gerekir. Örnek uygulamada (Apress web sitesinin Kaynak Kodu alanında), Chapter02.mdf adında bir SQL Server veritabanı bulacaksınız. Bu veritabanı, örnek uygulama için tüm istisna bilgilerini depolayan ExceptionLog adlı bir tablo içerir. Tablodaki alanların ve bunların amaçlarının bir özetini sağlar.

Veritabanına uygun gördüğünüz alanları ekleyip çıkarmakta özgürsünüz. Örneğin yalnızca bir sunucunuz varsa, makine adını kaydetmek için zaman ayırmaya değmeyebilir.

Veya, kullanıcının orijinal olarak nereden geldiğini bilmeniz için, istisna verileriyle birlikte yönlendiren sayfayı saklamanın yararlı olacağını düşünüyorsanız, bunu yapabilirsiniz. Ayrıca sorgu dizesi ve form verilerinin tek bir alanda depolandığına dikkat edin. Gelişmiş analiz için ad-değer çiftlerini kendi tablo yapılarına ayırabilirsiniz. Ancak şimdilik, bunu basit tutacağız.


Veri saklama yöntemleri
Veri depolama sistemleri
Bilgisayarda veri saklama ve depolama yöntemleri Nelerdir
Ağ sürücüsü ile veri depolama
Bulut depolama
Veri DEPOLAMA
Verilerin düzenli bir şekilde saklanmış hali nedir
En iyi veri depolama yöntemleri


İstisna Günlüğü Sınıfı

Özel durum günlüğü bilgilerini veritabanından depolamak, almak ve silmek için ExceptionLog sınıfını kullanırsınız. Bu, belirli bir araca bağlı olmayan bağımsız bir sınıf olduğundan, onu olduğu gibi veya kullanmaya karar verdiğiniz istisna günlüğü aracı için bir başlangıç ​​noktası olarak kullanabilirsiniz.

Sınıfa bakarken, istediğiniz veya ihtiyaç duyduğunuz kadar çok veya az istisna günlüğü bilgisi yakalayabileceğinizi anlayın. Bu, hiçbir şekilde mevcut bilgilerin kapsamlı bir listesi değildir, ancak bir sorunda hata ayıklama söz konusu olduğunda en yararlı öğelerden bazılarını temsil eder.

■Not : DirectCast yöntemi, herhangi bir aracı dönüştürme olmadan bir türü başka bir türe dönüştürür. Bu nedenle, DirectCast(“1”,Integer) başarısız olur çünkü “1” bir Tamsayı değil, bir Dizedir. CType, döküm sırasında bir öğeyi bir türden diğerine dönüştürme yeteneğine sahiptir.

Böylece, CType(“1”, Integer) başarılı olur çünkü CType, “1” Dizesini bir Tamsayıya başarıyla dönüştürebilir. Bu örnekte, dr(“ChainID”) aslında dönüştürülmesi gerekmeyen bir Guid nesnesi döndürür. Bu nedenle, CType yerine DirectCast kullanıyorsunuz çünkü hafif bir performans avantajı var.

Alanlar ve Özellikler

Sınıftaki tüm özellikler oldukça standarttır, bu nedenle çok fazla açıklama gerektirmezler. Her özelliğin, değerini depolayacağı karşılık gelen bir özel alanı ve veritabanında eşleşen bir alanı vardır. Her bir özelliğin daha ayrıntılı açıklaması için bakın.

Fonksiyonu Kaydet

Adından da anlaşılacağı gibi, Kaydet işlevi, parametre olarak geçirilen SqlConnection’ı kullanarak istisna günlüğü bilgilerini veritabanına kaydeder. İşlev, parametreli bir SQL ekleme ifadesi tanımlayarak başlar ve ardından yeni bir SqlCommand nesnesi oluşturmak için bu ifadeyi ve SqlConnection’ı kullanır.

Komut nesnesi parametreli bir SQL ifadesi içerdiğinden, tüm bu parametreler için parametre değerlerine ihtiyaç duyar. Fonksiyonun deyimdeki her alan için bir parametre oluşturduğunu ve ilgili sınıf özelliğinin değerini ilettiğini doğrudan SqlCommand tanımının altında görebilirsiniz.

Dize değerlerinin Hiçbir Şey olarak değil, boş bir “” dizesine ayarlandığından emin olmak için CheckEmpty işlevini kullanır. Bir parametre değeri Nothing ise, komut yürütüldüğünde SqlCommand nesnesi, hiçbir zaman bir değer sağlamadığınızı düşündüğü için bir yürütme atar. Veritabanı, ekleme sırasında değerini otomatik olarak oluşturduğundan, ExceptionID alanı bu listeye dahil edilmez.

Komut nesnesini parametreler ve değerlerle doldurduktan sonra, Kaydet işlevi, sorgudan etkilenen kayıt sayısını döndüren ExecuteNonQuery yöntemini kullanarak komutu yürütür. Hiçbir kayıt etkilenmediyse, Kaydet başarısız olur ve işlev false döndürür. En az bir kayıt etkilenmişse, Kaydet başarılı olmuştur ve işlev yeni ExceptionID değerini almaya devam eder.

SQL Server, ekleme sırasında ExceptionID’yi otomatik olarak oluşturduğundan, onu veritabanından seçmeniz gerekir. @@IDENTITY değişkeni, mevcut bağlantı için otomatik olarak oluşturulan son sayının değerini saklar.

Etkilenen kayıt kontrolünün içinde, Kaydet işlevinin SqlCommand nesnesinin CommandText’ini otomatik oluşturulan numarayı alacak şekilde güncellediğini ve ExecuteScalar yöntemini kullanarak bunu ExceptionID özelliğine atadığını görebilirsiniz. ExecuteScalar, veri okuyucusuna ihtiyaç duymadan veritabanından tek bir değer döndürür. Son olarak, işlev, Kaydetmenin başarılı olduğunu belirten true değerini döndürür.


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)


 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

× Bize Whatsapp'tan Ulaşın