Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  ASP.Net'te HTTP request'lerini işlemek için kullanılan interface. Tanımı aşağıdaki gibidir:

interface IHttpHandler
{
    bool IsReusable{get;}
    void ProcessRequest(HttpContext context);
}

ProcessRequest metodunun içinde gelen talep incelenebilir, çıktı buna göre oluşturulabilir. Örneğin web sitenizde yayınladığınız resimlerin sağ alt köşesinde copyright bilgisi görüntülemek istiyorsunuz. Bunun için http handler yazabilirsiniz:

Normalde sitenizde resimleri
<img src="/images/filanca.jpg">
şeklinde gösterirken, eğer resmin altına imzanızı atmak istiyorsanız artık şöyle yazacaksınız
<img src="/showImage?name=filanca.jpg">

Burada showImage ifadesi bir Http Handler'ı temsil eden takma addır. Bu takma ad web.config dosyasında aşağıdaki gibi tanımlanır:
<configuration>
   <httpHandlers>
      <add verb="*" path="showImage" type="ImzaliResim"/>
   </httpHandlers>
</configuration>

Burada ASP.Net'e şunu söylüyoruz: "showImage adresine yapılan taleplerin işlenmesi için ImzaliResim isimli sınıfı kullan". ImzaliResim sınıfımız bir Http Handler ve ProcessRequest metodunda talep edilen resmin üzerine imza atma işini yapıyor. Aşağıdaki gibi;

public class ImzaliResim : IHttpHandler
{
    public bool IsReusable {get {return true;}}

    public void ProcessRequest(HttpContext context)
    {
        // hangi resim talep ediliyor?
        string resimAdi = context.Request["name"];

        // bu resmi okuyalım
        Bitmap bmp = Image.FromFile(fileName);

        // üzerine imzamızı atmak için Graphics'i elde edelim
        Graphics g = Graphics.FromImage(bmp);

        // imzamızı atalım
        g.DrawString("(c) Bilişim Kulübü", new Font("Verdana", 11f), Brushes.Red, new PointF(10, 10));

        // ve resmi çıktıya yazalım
        bmp.Save(context.Response.OutputStream, ImageFormat.Jpeg);
    }
}

fizikci
20 Eylül 2006 16:46
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
» HTTP

© 2005, Bilişim Kulübü. (1078 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen