7 Haziran 2013 Cuma

Asp.NET Sayfa Şablonları (Masterpages)

Konu İçeriği
  • Sayfa Şablonlarına Neden İhtiyaç Duyulur? 
  • Sayfa Şablonlarının Temel Özellikleri 
  • Sayfa Şablonlarının Oluşturulması 
  • İçerik Sayfalarının Oluşturulması 


17 Mayıs 2013 Cuma

Veri Tipleri - MSSQL Server 2008

Konu İçeriği
  • Sistem Tanımlı Veri Tipleri
    • Karakter Dizilimleri
    • Unicode Karakter Dizilimleri
    • Tarih ve Saat
    • Sayısal Veri Tipleri
    • Parasal
    • Çift Değişkenli(Binary)
    • Sql Server 2008 ile Gelen Yeni Veri Tipleri


16 Mayıs 2013 Perşembe

SQL Veri İşleme Dili (Data Manipulation Language)

Konu İçeriği
  • DML (Data Manipulation Language)
    • Insert (Ekle)
    • Delete (Sil)
    • Update (Güncelle)


Yeni Başlayanlar İçin Veritabanı

Konu İçeriği
  • Veritabanı Nedir? 
  • Veritabanının Kullanım Amaçları 
  • Veritabanı Çeşitleri 
    • Oracle, DB2, Progress, Paradox, MySql 
    • MS Sql Server 
      • Database Engine(OLTP) 
      • Analysis Service (OLAP) 
      • SSIS(Sql Server Integrated Services)
  • Veritabanı Oluşturma
  • Tablo Kavramı 
  • Tablo Oluşturma
  • Tabloya Veri Ekleme




15 Mayıs 2013 Çarşamba

Asp.NET Web Parts

Konu İçeriği
  • Web Parts Neden Kullanılır? 
  • Web Parts Örneği (iGoogle) 
  • Web Parts Kipleri 
  • Web Parts Çalışma Yapısı 
  • Web Parts Kontrolleri 

Asp.NET Validations (Geçerlik Denetimleri)


Konu İçeriği
  • Geçerlik Denetimini(Validation) Anlamak 
  • İstemci ve Sunucu Taraflı Geçerlik Denetimi 
  • Asp .Net Geçerlik Denetimi Kontrolleri 

14 Mayıs 2013 Salı

MSSQL Server Güvenlik (Security)


Konu İçeriği

  • Sunucu Düzeyinde Güvenlik Nedir?
  • Kimlik Denetimleri Nelerdir?
  • Yeni Oturum Hesabı Oluşturma
    • Genel Özellikler
    • Sunucu Rolleri
    • Veritabanları Üzerinde Yetkilendirme
    • Nesne(Tablo, View, …) Bazlı Kısıtlamalar
  • Yeni Role Oluşturma

13 Mayıs 2013 Pazartesi

Asp.NET Web User Control

Konu İçeriği
Web User Control Nedir? 
Web User Control Özellikleri 
Web User Control Oluşturulması 
Örnek Uygulama

XML(eXtensible Markup Language) Giriş


Konu İçeriği
XML(eXtensible Markup Language) Nedir?
XML’in Kullanılma Amacı
XML Doküman Yapısı
XML Dokümanın Kuralları
Basit Bir XML Dokümanı


C# - Metodlar/Fonksiyonlar

Konu Başlıkları

Metod Nedir?

Sıkça Kullandığımız Metodlar
Metod Tanımlaması
Metodların Kullanılması
Metodların Aşırı Yüklenmesi (Overload)
Değişken Sayıda Parametreli Metodlar


7 Mayıs 2013 Salı

ipucu - C# ile resim kesme(crop) ve boyutlandırma (resize)


    C# tarafında bir resmi kesme ve boyutlandırma için ihtiyacımız olan belli parametreler vardır. Öncelikle kesmemiz gereken resim elimizde olmalı. Eğer ki bitmap olarak resim elimizdeyse işleme devam edebiliriz fakat elimizde resmin urli varsa öncelikle bu urlden resmi çekmemiz gerekir. Bunun için şu kod bloğu kullanılabilir:



HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(src);
WebResponse imageResponse = imageRequest.GetResponse();
Stream responseStream = imageResponse.GetResponseStream();
Bitmap bmp = Image.FromStream(responseStream) as Bitmap;



     Bu şekilde resmi aldıktan sonra ikinci aşama resim kesme(crop) işlemidir. Bunun için ihtiyacımız olan aslında resmi kesmek istediğimiz şekilden başka birşey değildir. Bu örneğimizde bunun bir dikdörtgen olduğunu varsayalım:

Rectangle cropRect = new Rectangle(x1, y1, width, height);

x1 : kesilmesini istediğimiz yerin soldan uzaklığı
y1 : kesilmesini istediğimiz yerin üstten uzaklığı
width : dikdörtgenin genişliği(kesmek istediğimiz alanın genişliği)
height : dikdörtgenin yüksekliği(kesmek istediğimiz alanın yüksekliği)

Bu şekilde kesmek istediğimiz bölümü oluşturduktan sonra geriye o bölümü resmin içinden kesmek kalıyor:

Bitmap croppedImage = bmp.Clone(cropRect, bmp.PixelFormat);

Kestiğimiz kısmı aynı zamanda yeniden boyutlandırabiliriz de (resize).

Örneğin kestiğimiz kısmın boyutunun 200 px genişlik ve 200 px yükseklikte olmasını istediğimizi varsayalım.


Bitmap resizedImage = new Bitmap(200, 200);
using (Graphics g = Graphics.FromImage(resizedImage))
g.DrawImage(croppedImage, 0, 0, 200, 200);


Bu işlemin ardından yeniden boyutlandırılmış resmi elde etmiş oluruz.

29 Nisan 2013 Pazartesi

İpucu - Jquery ajax ile site dışında bir url'i çağirma


$.ajax(

url: url + "&callback=?",
dataType: "jsonp" 
}
);

Burada ki iki önemli noktadan birincisi çağırmak istediğiniz url'in sonuna querystring olarak "&callback=?" eklemek.
İkinci olarakta dataType'ı "jsonp" olarak belirtemek.

Bu işlemi yapmanın bir diğer yolu:

$.getJSON(url+ "&format=json&callback=?",  
       function(data) {
                       doSomethingWith(data);
                      });

şeklinde request atmaktır. Burada da görüldüğü gibi url'in sonuna format ve callback querystringleri eklenmiştir. Virgülden sonra yazılan fonksiyon request sonucunda bize dönen data üzerinde işlem yapmak için kullanılabilir.

Normal şekilde request atmamızın engellenmesinin sebebi "Same Origin Policy" yada Türkçe adıyla "Aynı Kaynak Politikası" bunun sebebini ve teknik yönlerini incelemek için asağıdaki linki inceleyebilirsiniz:
http://en.wikipedia.org/wiki/Same_origin_policy

27 Nisan 2013 Cumartesi

Hata - 'Unable to serialize the session state.'

Bir önceki yazıda Asp.NET Session'ının SQL Server'da saklanması işlemini anlatmıştık. Eğer bu yönetimi kullanıyorsanız aşağıdaki hatayla karşılaşmış olabilirmisiniz.


Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.

Eğer bu hatayı alıyorsanız session'da serializable olmayan bir nesne atmaya çalışıyorsunuz demektir. Bu hatayı çözmek için yapmanız gereken tek şey atamaya çalıştığınız nesneye ait class tanımlamasında [Serializable] etiketini kullanmanız yeterli olacaktır.
--
Bilgi paylaştıkça büyür...


Asp.Net Session'ını SQL Server üzerinde tutma

Bildiğiniz üzere Asp.Net uygulamalarında Session oturum bazlı verileri saklamak için kullanılan bir yöntemdir. Asp.Net uygulamanıza ait bu Session değerlerinizi SQL Server üzerinde saklamak istiyorsanız aşağıdaki adımları izlemeniz yeterlidir.

Neden SQL Server'da session değerlerini saklayayım sorusuna cevap:
"Uygulamaları buluta (örn: Azure) almak ve sunucu çiftliklerinde çalıştırmak için gerekli bir yöntem. Eskiden fiziksel load balancer'lar "sticky session'lar" ile bunu yönettiği için pek ihtiyaç olmazdı ama artık sunucular sanal olduğu için onlara güvenmek yerine SQL Server'a güveniyoruz." (Teşekkürler Ekin Çağlar :))

Adım1: Aspnet_regsql ile session'ın tutulacağı veritababını oluşturmak.
Bu veri tabanını oluşturmak için command prompt'u açıp aşağıdaki resimde gördüğünüz klasörde bulunan 'aspnet_regsql.exe' dosyasını çalıştıracağız.

Komut: aspnet_regsql.exe -S localhost -E -ssadd -sstype p


Bu komutu çalıştırdıktan sonra SQL Server'da ASPState isimli veri tabanını görebilirsiniz.


Adım2: Asp.NET projenizde web.config dosyasında session düzenlemesi.
Web.config dosyasında sessionstate etitekini aşağıdaki gibi değiştirirseniz artık session'larınız sql server saklanacaktır.

<sessionState mode="SQLServer" customProvider="DefaultSessionProvider" timeout="60" allowCustomSqlDatabase="false" sqlCommandTimeout="3600" sqlConnectionString="Server=localhost;User ID=kadir;Password=7a3g6b18b2c63;">

--
Bilgi paylaştıkça büyür...