23 Nisan 2017 Pazar
Twitter

ASP.NET'te Local'de Çalışıp Çalışmadığımızı Öğrenme

Localhost'ta farklı gerçek domainde farklı işler yapmak isteyebilirsiniz. :)

Diyelim ki, e-ticaret sitesi kurdunuz. Ödeme onayından sonraki iş akışının düzgün işleyip işlemediğini kontrol etmek istiyorsunuz. (Stok düşümü, alıcı/satıcıya eposta gönderimi, vb.)

İşte bu noktada localhostta çalışıyorsak ödeme onayını pas geç (ya da yapılmış gibi işlem yap), gerçek domainde isek kredi kartı bilgilerini kullanıcıdan iste gibi kolay yoldan bir sistem oluşturabiliriz kendimize.

Bunun için hazır bir propertymiz var: Request.IsLocal.

Kullanımı da son derece kolay:

protected void Page_Load(object sender, EventArgs e)
{
    if (Request.IsLocal)
    {
        Response.Write("Localhosttayız");
    }
    //else
    //{
        // gerçek domaindeyiz.
     //}
}

Bu kadar. Eğer bir class içerisinde kullanacaksak Request e HttpContext üzerinden erişmeliyiz:

if (HttpContext.Current.Request.IsLocal)
    {
        // localhosttayız
    }

Peki IsLocal, local de olup olmadığımıza nasıl karar veriyor, .

Cevap: Tabii ki IP'ye göre. Eğer IP'miz "127.0.0.X" ya da "::1" ise localdeyiz demektir.

O zaman IsLocal'i kendimiz de implement edebiliriz:

public bool IsLocal
{
    get
    {
        var ip = this.UserHostAddress;
        if (!string.IsNullOrEmpty(ip))
        {
            if ((ip == "127.0.0.1") || (ip == "::1"))
            {
                return true;
            }
            if (ip == this.LocalAddress)
            {
                return true;
            }
        }
        return false;
    }
}

gibi.

Peki ya güvenlik?

Cevap: Burada yazdığına göre sorunsuz kullanabilirsiniz. Bazı kaynaklarda da %100 güvenebilirsiniz diyor.

Herkese iyi çalışmalar diliyorum. :)

Değerlendirme

Yazım dilinin sadeliği ve anlaşılabilirliği Puan: 4,70 (1 oy)
Yazıdaki kodların kalitesi Puan: 5,00 (1 oy)
İhtiyaca cevap verme Puan: 4,75 (1 oy)
Tavsiye edilebilirlik Puan: 4,65 (1 oy)
Genel değerlendirme Puan: 4,75 (1 oy)
Puanlamalar 5 üzerindendir.
  • Site Yorumları
  • Facebook Yorumları Facebook Yorumları
Yeni yorum yaz Toplam: 2, Onay bekleyen: 0.
  1. Ekrem

    Şu kod her defasında işime yarıyor :)

  2. Mehmet Aktaş

    Teşekkürler...