Asp.Net MVC - IExceptionFilter Implementasyonu İle Hata Yakalama

By Burak TUNGUT - 9.3.2013 - 1 Yorum - Kategori Asp.Net MVC

Herkese merhabalar. Yaklaşık 2 haftadır yazmayı hatta yazacağımda uygulamak istediğim senaryoyu bile kafamda tasarladığım makalem ile karşı karşıyayız cool Geçtiğimiz 3 ay boyunca MVC patterni üzerine yoğunlaşmama rağmen bu alanda makale paylaşımlarımın eksik olduğumu gözlemledim. Aslında amacım Asp.Net MVC için düzenli ilerleyecek bir yazı dizisi hazırlamaktı fakat bu alandaki ilk makalemin başlığı, “Asp.Net MVC - Arama Motoru Dostu linkler için Custom Link Senaryosu” şeklinde olunca giriş seviyesi konuları biraz atlamış oldum cheeky

C# ile Web Forms ya da MVC olsun herhangi biri ile web projesi geliştiren herkes eminim ki aşağıdaki manzara ile karşılaşmıştır;

Asp.Net MVC Exception

“Kahretsin!! Evettt” diyenleri duyar gibiyim J Sarı arka plan üzerine kurulmuş şu sayfayı gördüğümüzde hiç şüphesiz işlerin ters gittiği kesindir. Birde son müşteri için hizmete açılmış bir projede böyle bir şeyin olduğunu hayal edelim. Ya da vazgeçtim. Hayal etmesek daha iyi gibi. Pekte güzel bir hayal olmadı blush Tabi ki bu hayali daha doğrusu kabusun yaşanmaması için bir şeylerin yapılması gerekir.

Senaryomuzu Tanıyalım

Aslında yapılması gereken olgu için ipucunu daha önce verdim (Bknz.: Makale Başlığı). Asp.Net MVC platformunun bizler için sunduğu çeşitli hata ayıklama mekanizmaları mevcut.  Aklıma gelenler için bunları şöyle sıralıyabiliriz;

1.       Application_Error metodunun yazılması

2.       IExceptionFilter interface’ini implemente eden bir filter yazılması

3.       IIS Custom Error kullanılması

Aklıma gelen bu üç yöntemden OOP tekniklerine daha yatkın olduğu için ikincisini tercih ettim.

Bugünkü senaryomuz olabildiğince basit. Elimizde bir web projesi var. Ana sayfasında ise sadece “Hata Fırlat” ismine sahip ve tıklandığında ise Exception fırlatacak bir link olsun. Tabi ki bu linke tıklandığında daha önce herhangi bir hata yakalama işlemi yapılmadığı için, yukarıda lanetler okuduğumuz sarı arka planları bir sayfa ile karşılaşıyor oluruz.

Projeyi uygulamaya geçirme işlemine, controller ve action’lardan başlayalım. Bunun için içi boş bir MVC projesi oluşturalım ve HomeController altına Index, Throw ve Error adlı üç adet ActionResult ekleyelim.  Index adlı ve Error adlı actionlar için birer view oluşturalım. Throw adlı action için herhangi bir view oluşturmayalım. Hata fırlatacak action’ın view ile ne işi olur laugh

HomeController Sınıfının Kodları

public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult Throw()
        {
            throw new Exception("Ben Fırlatırım, Sen Yakalarsın!");
        }

        public ActionResult Error()
        {
            return View();
        }
    }

Yukarıda bahsettiğimiz gibi Throw action'ının bir view'e bağlanması gereksizdir. Dikkat ederseniz herhangi bir return işlemide bu metot içerisinde uygulanmamıştır. Hatta Visual Studio varsa return sözcüğünün bizim için gereksiz olduğunuda söyleyecektir.

Devamı

Asp.Net Webmethod ile TC No Doğrulama

By Burak TUNGUT - 21.11.2012 - 2 Yorum - Kategori Asp.Net MVC

Bu makalem de bir Asp.Net ile Tc Kimlik No doğrulanması için servis kullanan bir webmethod yazarak, jQuery ajax ile çağırıp dinamik bir şekilde sonuç elde edeceğiz.

Bu makale ile hem jQuery, hem Servis hem de Asp.Net bilgilerimizi tazeleyeceğiz :)

 

Öncelikle bir adet boş Asp.Net Web Form projesi oluşturalım.

Ardından "References" -> "Add Service Reference..." yolunu izleyelim.

 

Devamı
1
Facebook
Son Yorumlar