Standart 3 katmanlı ASP.NET web uygulamasını yapıyorum, ancak belirli şeylerin nerede yapıldığı konusunda mücadele ediyorum - özellikle istisnaları ele alma.3 katmanlı bir web uygulamasındaki istisnalar nasıl ve nerede kullanılır? Spesifik olarak Sql Veri Tabanı İstisnaları
bazı örnekler için web üzerinde bir göz etrafında olması denedim ancak birlikte her şey nasıl bağlantılarını gösteren bir projenin tamamı kadar uzanıyor hangi herhangi bulamıyorum.
Veri katmanımda SQL Server'a bağlanıyorum ve bazı şeyler yapıyorum. Sonuç olarak yükseltilebilecek istisnaları yakalamam gerektiğini biliyorum ama nerede yapacağımı bilmiyorum. Ben UI katmanı bunu yapıyor olmalı ama bu durumda ben veritabanı bağlantısı kapatıldı emin olmak için nasıl emin değilim okuduğum kadarıyla
. Bunu nasıl yapacağını açıklayabilecek biri var mı? Ayrıca, herhangi biri, 3 boyutlu bir web uygulaması bulabileceğimiz en iyi uygulamaları takip eden bir uygulama bulabilir.
teşekkürler düşünme yönlendirmek olabilir Sadece bir yan noktası
teşekkürler. SQLExceptions ile ilgili düşünceleriniz nelerdir? Sproc'ta ortaya çıkan hatalar için bunları DAL'de yakalar mısın ve özel bir hata mı atıyorsun yoksa bir alternatif mi? – Nick
Şu andaki DAL'imde (daha fazla DA * aracı *, daha çok yarı-DAL nesneleri olan iş nesnelerime geçiyorum) otomatik olarak birkaç belirli hataları yakalarım ve ele alıyorum (deadlock kurbanı hatası # 1205 gibi). Bunu görüyorum, bir kez daha denedim.), Ancak hataların çoğunu perlatlayalım. Bazen İş nesnesi bu hata ile akıllı bir şey yapabilir; eğer olmasaydım, perçola izin verdim. DAL'imde yakında otomatik olarak hata ve sql komut metni ve parametrelerini otomatik olarak kaydedeceğim. Sql metnini hata mesajına faydalı bir şekilde ekledim, ancak bu bir güvenlik sorunu. –
Sadece (** A **) kurtarma/tepki verme// veya başarılı olabilirseniz veya (** B **) üst üste gelen hata bilgisini iyileştirirseniz, yalnızca sprocs/udf'lerinizdeki yakalama hataları. Bu yüzden, sproc/udf 'lerde hata işlemesi hata değildir, ancak bazen onlara hata ekleyeceksiniz. –