Geliştirdiğimiz web uygulamasını belirli aralıklarla düzenli olarak bir sunucuya göndermemiz gerekiyorsa her seferinde tüm dosyaları sunucuya yüklemeye çalışmak zaman kaybettirebilir… Son güncelleme zamanından önce değiştirilmiş dosyaları bulmak için dosya arama fonksiyonunu kullanabilirsiniz. Bulunan dosyaları seçil sildiğinizde elinizde sadece son guncelleme zamanindan bu yana degisen dosyalar kalacaktır. Windows 7 de arama bir miktar farklı olduğundan belirli bir […]
Anlamsız session kayıpları
Uygulamanızda session time out süresi geçmeden session uçuyor mu? Neden olduğunu anlayamıyor musunuz? Ana web.config dosyanızda ufak bir değişiklik ile application recycle nedenlerini event loga yazdırmanız mümkün… C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG dizinide bulunan ana web.config dosyasını açın ve <healthMonitoring><rules> bölümüne şu satırları ekleyin. Böylece event log kayıtlarını takip ederek session kaybının nedenleri hakkında bilgi sahibi olabilir ve çözüm […]
Önemli güvenlik açığı
ASP.NET uygulamalarında önemli bir güvenlik açığı bulundu. Konu ilgili sunucunuzun versiyonlarına göre farklı yamalar mevcut. Konu ile ilgili Scott Guthrie tarafından yazılan makaleyi mutlaka okunmanız ve size uygun yamayı sunucunuza uygulamanızı öneririm. Makaleyi şu adresten okuyabilirsiniz:http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx Yamalarla ilgili detaylı bilgiyi şu adresten alabilirsiniz:http://weblogs.asp.net/scottgu/archive/2010/09/28/asp-net-security-update-now-available.aspx
ASP.NET Forms Authentication
Web uygulamaları Internet üzerinden anonim (kimliği belirsiz) ziyaretçiler tarafından kullanılırlar. Kullanıcılar hakkında bilgi toplamak ya da sadece belirli kaynaklara erişimlerini sağlamak istiyorsak öncelikle onların kim olduğunu belirli bir kaynaktan sorgulayıp, doğru kişi olduklarını onaylamamız gerekir. Bu işleme “Kimliklendirme (Authentication)” denir. Web uygulamalarında farklı kimliklendirme yöntemleri olsada Internet üzerinden erişilen uygulamalar için uygun olan kimliklendirme yöntemi “Forms” yöntemidir. […]
Blogroll aynı pencerede açma sorunu
Bir süredir blogengine.net kullanıyorum. Wordpressle tabiki kıyaslanamaz ama .NET muadilleri arasında fena bir yerde değil. Arkadaşlarımın yazılım ile ilgili tecrübelerini paylaştıkları sitelere link vermek için BlogRoll extensionı ana sayfaya ekledim ve bir kaç link tanımladım. Herşey çok güzeldi. Ta ki bir linke tıklayana kadar. Tıkladım ve link benim sayfam ile aynı pencerede açıldı. Hemen panik […]
İstemcide zararlı olabilecek bir değer Request.Form algılandı.
İş yerinde geliştirmekte olduğumuz projelerde şimdiye kadar MVC Framework Preview 3 kullanmaktaydık. ASP.NET ten farklı çalışma mekanizması nedeniyle yukardaki hatayı sık sık alır ve ValidateRequest = false yapmamıza rağmen sorunu aşamazdık. Çünkü post edilen bilgi önce kontroller a düşmekte ve exception oluşmaktaydı. Peki temel olarak bu hatanın nedei neydi. Önce bunu bir hatırlayalım. ASP.NET kullanan […]
Web İçerik Okuma
Adresini bildiğiniz bir sayfayı internette gezmekte kullandığını her hangi bir istemcinin (Internet Explorer, Firefox, Opera, Safari, Chrome, vb.) adres satırına yazdığınızda o sayfanın içeriği bilgisayarınıza indirilir ve siz de ekranınızda bu safyayı görürsünüz. Temel olarak adresi yazıp enter tuşuna basarak sunucuya bir istekte bulunursunuz. Sunucu ilgili isteği işler ve size bir yanıt döner. Siz de […]
Cookie Unutma Problemi
Bu sabah üzerinde çalışmakta olduğumuz bir projenin çalışmakta olan cookie yazma okuma metodlarını kullanarak bir geliştirme yapmaya çalıştım. Enteresan şekilde browser kapatılıp tekrar açıldığında cookie kayboluyor ve yazdığım kod yapması gereken işlemleri yapamıyordu. Enteresan diyorum çünkü kullandığım cookie yazma ve okuma metodları sitenin bir çok yerinde kullanılıyor ve her hangi bir sorun yaşanmıyordu. Kodu incelediğimizde […]
Gömülü Web Kaynakları (Embedded Web Resources)
Oluşturduğumuz web kontrollerinin ihtiyaç duyduğu script, stil dosyası, imajlar gibi dosyaları assembly içine gömerek kontrol ile birlikte kolayca dağıtılmasını sağlayabiliriz. Bu durum dağıtım avantajının yanında bant genişliği ile ilgili bir dezavantajı beraberinde getirmektedir. Web kaynağı olarak assembly içine gömdüğümüz her dosya sunucuya yapılan her istekte tekrar tekrar sunucudan yüklenecek ve gereksiz yere bant genişliğini işgal […]
Kendi Sunucu Kontrollerimizi Oluşturmak
Bazı durumlarda kendine has HTML kodları üreten kontrollere ihtiyaç duyabiliriz. Bunun için mevcut kontrollerden veya mevcut kontrollerin miras yoluyla türetildiği webcontrol (System.Web.UI.WebControls.WebControl) sınıfından kendi kontrollerimiz türetme yoluna gidebiliriz. Bu işleme başlamak için öncelikle bir sınıf kütüphanesi projesine ihtiyacımız var. Bu projemizin adı "MyControl" olsun. Sonraki adımda kontrolümüzün adını taşımasını istediğimiz bir sınıf dosyasını projemize eklememiz […]