mehmetduran.com - Paylaşmak Güzeldir...
Asp.net ile HttpModule Kullanımı (Sistem Açma ve Kapatma)
Bu yazımda HttpModule kullanmayı ve HttpModule ile neler yapabileceğimizi anlatmaya çalışacağım. Bloğumda zaman zaman eklemeler, güncellemeler yapıyorum. Son olarak bu yazımda anlatacağım Module kullanarak sistem açma ve kapatma işlemi yapan bir uygulama geliştirdim ve kullanmaya başladım. Yazımda HttpModule'ün ne olduğundan çok nasıl kullanıldığını ve neler için kullanabileceğimizi anlatacağım. Şimdi .Net ile hazırladığımız web projelerinde HttpModule oluşturmaya ve nasıl kullanacağımıza bakalım.

Örnek olarak vereceğim kodlarda bloğumda da kullanmaya başladığım sistem açma ve kapatma işlemini gerçekleştiren kodları vereceğim. Bu şekilde yaptığımız bir sistemi istediğimiz anda kullanıcılara kapatabilir ve çalışmalarımızı yapabiliriz. Açma kapatma dışında Module kullanarak çok farklı ve kullanışlı uygulamalar geliştirebiliriz. Şimdi kodlarımıza bakalım.

 
namespace MehmetDuran
{
  public class AcKapaModule : IHttpModule
  {
    public void Dispose() { }
 
    public void Init(HttpApplication context)
    {
      context.BeginRequest += new EventHandler(context_BeginRequest);
    }
 
    void context_BeginRequest(object sender, EventArgs e)
    {
      HttpApplication context = (HttpApplication)sender;
      string Url = context.Context.Request.RawUrl;
      if (!Url.Contains("Login.aspx") && !Url.Contains("Admin.aspx"))
      {
        context.Context.Response.Clear();
        context.Context.Response.Write("Sitedeki çalışmalardan dolayı kapalıyız.");
        // burada yazıdaracağımız metni herhangi bir sayfayı render ederek alabiliriz. 
        // Örneğin kapali.html sayfası varsa bu sayfanın içeriğini alıp yazdırabiliriz.
        context.Context.Response.End();
      }
    }
  }
}
 

Bu şekilde HttpModule'ü oluşturduktan sonra sistemde kullanmak için Web.config dosyamızda aşağıdaki gibi bir ekleme yapmalıyız.

 
<httpModules>
  ......
  <add name="AcKapaModule" type="MehmetDuran.AcKapaModule"/>
</httpModules>
 

Bu şekilde ekleme yaptıktan sonra sistemimizde Module'ümüz çalışacaktır. Ancak mantıklı olan bu module'ü istediğimiz anda çalıştırıp, istediğimiz anda kapatmaktır. Bunun için Xml bir yapıya sahip olan Web.config dosyasında ekleme ve çıkarma yapmalıyız. Bloğumda açma ve kapatma sistemi de bu şekilde çalışıyor. Eğer bu module'ü çalıştırmak istiyorsam web.config'e yukarıda verdiğim kodları ekliyorum. Eğer module'ü kapatmak istiyorsam web.config'de var olan Module satırını kaldırıyorum. Tabiki bunu el ile yapmıyorum. Bu işlem tamamen Xml dosyayı okuma, parse etme ve tekrar kaydetme işlemi. Bunu daha sonraki yazılarımda yazmayı düşünüyorum.

HttpModule kullanarak neler yapabileceğimiz konusuna gelmek istiyorum. Öncelikle örnek kodlarda verdiğim gibi sistem açma ve kapatma işlemi yapabiliriz. Bunun dışında sistemde üyelik varsa üyelik kontrolü yapan bir module yazabiliriz. Bunu dışında kullanmayı düşündüğüm ve en kısa sürede hazırlayacağım ziyaretçi bilgileri ve istatitistikleri module'ü yazabiliriz. Sisteme gelen tüm ziyaretçilerin bilgilerini alan ve istatitstiklerini tutan bir module oldukça kullanışlı olur. Bu türlü ihtiyaçlar için HttpModule oluşturup kullanabiliriz.

Örnekte hazırladığım uygulama için sadece BeginRequest eventını kullanmak yeterli oluyor. Ancak ihtiyaçlara göre tanımlanmış olan diğer eventları da görebiliriz. Bu eventları görmek için Visual Studio'nun Intellisense özelliğinden faydalanabilirsiniz.

İyi Çalışmalar.
Mehmet Duran 19 Eylül Cumartesi 2009 5 23734 4,3
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Jquery ile Cookie İşlemleri Web.config Dosyası Üzerinde İşlemler (Module Ekleme, Çıkarma) Herhangi Bir Sitenin Alexa Bilgilerini Öğrenmek Asp.net ile Dinamik Sitemap Hazırlama Javascript ile Klavye Tuşlarının Kontrolü
Yorumlar
Yorum Yaz
RSS Yorum Takibi
Barbaros 10 Aralık Perşembe 2009 23:18 #1
Ellerine sağlık, yaklaşık 45 dk dır sitedeyim. Harika olmuş. İçerik de çok güzel. Daha önce girdiğimde .net idi .net MVC ye geçirmişsin sanırım. Tebrikler, başarılarının devamını diliyorum
Mehmet Duran 10 Aralık Perşembe 2009 23:26 #2
Merhaba. Güzel yorumun için teşekkür ederim. Dediğin gibi Asp.net'ten MVC'ye geçiş yaptım. Elimden geldiğince birşeyler paylaşmaya çalışıyorum.
serkan 30 Nisan Cuma 2010 12:27 #3
Asp.net ile HttpModule Kullanımı (Sistem Açma ve Kapatma)
Sayfaların Oluşma Sürelerini Hesaplama (HttpModule Kullanarak)
Bu makalelerinin kaynak dosyalarını paylaşabilirmisiniz. Teşekkürler.
Mehmet Duran 30 Nisan Cuma 2010 22:55 #4
Şu anda bu örneklerin dosyaları elimde yok. Buradaki kodlar uygulamanın çalışır halinin kodları. Paylaştığım kodları direk olarak kullanabilirsin.
Erdinç 05 Haziran Cumartesi 2010 01:44 #5
Merhabalar, Bu sistem açma ve kapama ile ilgili makaleniz mükemmel. O kadar güzel anlatmışsınız ki denemem ve kullanmam yaklaşık 15 saniyemi aldı.Bu güzel paylaşım için teşekkür ederim.Burada paylaştığınız bilgiler için ayrıca bir teşekkür daha etmek istiyorum.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Gençken bilgi ağacını dikmesek, yaşlandığımız zaman gölgesine sığınacak bir yerimiz olmayacaktır.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009