Silverlight teknolojisinin ilk çıktığı günleri hatırlıyorum da arkadaşlarla birlikte nasıl heyecanlanmıştık. Bu heyecanlarımızın bu güne kadar bazıları karşılandı bazıları karşılanmadım. İlk zamanlar javascript kullanarak geliştiriyorduk Silverlight’ı, şimdi neredeyse herhangi bir dil yetiyor bunun için. Çok kısa bir sürede birçok yenilik kazandı aslında.

İnternet kısmına baktığınızda ise bu kadar yeni bir teknoloji olmasına rağmen binlerce makale video göreceksiniz. Belki şu anda birden içinizde Silverlight öğrenme istediği yeşerdi, makaleden sonra hemen gidip bakkaldan Silverlight 3 alacaksınız? J Ama bilmeniz gereken bir şey var, her senenin sonuna doğru olduğu gibi bu sene sonunda da Silverlight yapacağını yaptı ve bir beta daha yayımladı. Visual Studio 2010 ile gelmesi beklenen Silverlight 4 ‘ün çok sağlam bir test versiyonu yayımlandı, bununla beraber tabi ki de Expression Blend programının 4 Beta sürümünde aynı anda...

Peki, daha 3 ‘ile uygulama geliştirmeye yeni ısınmışken buda nerden çıktı demeyin, Mademki kendimizi developper yani geliştirici diyoruz, o zaman bizim de gelişime açık olmamız gerekiyor. Bu gün beta ile gelen yenilikler beta olmasına rağmen gerçekten göz dolduruyor, Tam sürümde de bunları bekliyoruz. Şimdi yeniliklere bir bakalım.

 

-         İnternet ortamında sürekli problem

Devamı...
2009 Haziran ayında sevgili hocam Daron Yöndem bir dizi internet semineri tertip ediyor, silverlight öğrenmek isteyenler için çok güzel bir fırsat bu, kaçırmamanızı tavsiye ediyorum böylesine büyük çaplı bir organizasyon iddialı bir şekilde söylüyorum bulamassınız. ve ilgili içeriği aynen veriyorum.
Organizatör:
Daron Yöndem
Tür:
Ağ:
Global
Başlangıç:
08 Haziran 2009 Pazartesi, 21:00
Bitiş:
23 Haziran 2009 Salı, 23:00
Yer:
Online - Live Meeting
E-posta:

Açıklama

Haziran ayı ile beraber yaz dönemi geldi.
Devamı...

 Wcf Nedir ? Wcf Nasıl Kullanılır ? 

    Bu yazımızda Wcf servisine genel bir bakış yapıcağız ve basit bir servis yazıp bunu bir WindowsApplication ile çağıracağız. Öncelikle Wcf nedir ? Bir webservistir, web servislerin kullanım mantığı ise masa ütünden web sitemizde çalışması gereken kodları çalıştırabilmektir. Örneğin winapi’mizde login işlemimiz var ama kullanıcı adı ve şifremiz web teki veri tabanımızda. Bir sitedeki veri tabanına ulaşmak istiyorsak o site içinden kodlama yapmalıyız. Web servisimiz işte tamda bu işe yarıyor. Servisimizi yazıyoruz ve sitenin içine koyuyoruz. Daha sonra winapimizden bu servisi çağırıyoruz ve servis internette çalışarak bize istediğimiz sonucu veriyor. Kullanıcı adı ve şifreyi servisimize parametre olarak yollayıp , sonucu true ve false olarak alabiliriz. Bunun gibi bir çok kullanım yeri vardır, günümüz Web ortamında servise ihtiyaç duymadığımız zaman yok dersek yalan olmaz.  Gene fazla laf kalabalığı yaptım, o zaman hemen nasıl kullanılacağına geçelim, servisimiz bir asp .net sitesinin içinde olucak, yeni bir asp.net wep application Project oluşturuyorum.

 

Bir sonraki adımda oluşturduğum projeye sağ tuşa basıp add->new item diyerek wcf servsini seçebileceğim menünün açılmasını sağlıyorum.

 

Açılan menüden Wcf servisini seçiyorum. Seçim işlemini yaparken verdiğimiz isme dikkat etmemiz gerekiyor. Biz bir tane kullanıcağız, o yüzden ismini service1.svc olarak bırakıyorum. Ve add butonuna basarak projemin içine dahil ediyorum. 

 

Ve artık servisimi yazmak için gerekli olan tüm yapılara sahibim. Aşağıda gördüğünüz üzere Iservice1.cs ve Service1.svc altında iki tane yeni item eklendi projemize. Iservice dosyasının içinde kullanacağımız fonksiyonların tanımını yapacağız, service1.svc dosyasının altında ki cs uzantılı dosyada ise Iservice.cs'de yani kotratımızda tanımladığımız fonksiyonu kodlayacağız. Yani ilkinde benim böyle fonksiyonlarım var diye bir sözleşme yapıyoruz. Daha sonra diğerinde bu sözleşmedeki tanımlamaya bağlı kalarak fonksiyonlarımızı kodluyoruz.

 

Şimdi sözleşmemizin (Iservice.cs) içine bir bakalım neler var ?

using System;

using System.Collections.Generic;

using System.Linq;

using System.Runtime.Serialization;

using System.ServiceModel;

using System.Text;

namespace aspsitem

{

// NOTE: If you change the interface name "IService1" here, you must also update the reference to "IService1" in Web.config.

[ServiceContract]

public interface IService1

{

[
OperationContract] void DoWork();

}

Burda default olarak Dowork fonksiyonu gelmiş. Biz bunu silip kendi fonksiyonumuzu yazacağız.

Dowork fonskiyonunu silerek kendi fonksiyonumuzu yazacağız.

bool giris(string isim, string sifre);

Ondan sonra service1.svc.cs dosyasına geçip ordaki dowork fonksiyonunuda siliyoruz. Ve Service1:Iservice1 yazısının üstüne geldiğimizde sözleşmede tanımadığımız fonksiyonu üretmek için bize bir seçenek sunuyor.

#region IService1 Memberspublic bool giris(string isim, string sifre)

{

throw new NotImplementedException();

}

#endregion

throw ile başlayan satırı silip gelen kullanıcı adı ve şifreyi işlemek için bir kod yazıcağız.

if (isim=="Mehmet Bilen"&&sifre=="1986")

{

return true;

} return false;

Ve build edip projemizi kapatıyoruz. Artık herhangi bir projede bu webservisini kullanabiliriz. Hemen bir web application açalım. Ve projemize add web service reference ekleyelim.

Ve Açılan menüden web servisimizi kaydettiğimiz adresimizi yazarak go diyoruz. Aynı proje içine eklemiş olsaydık discover diyecektik. Kaydettiğimiz adres derken buil ederken localhostta bir adrese kaydeder o adresi belirtebiliriz. Veya publish etmişsek asp sitesini service1.svc dosyasının olduğu adresin buraya yazmamız lazım.

Giriş fonksiyonumuz direk gözüktü. Ok deyip projemize web servisi dahil edelim ve projemizde gerekli tanımlamalarımızı yapalım.

ServiceReference1.Service1Client servisim = new WindowsFormsApplication1.ServiceReference1.Service1Client(); Bu tanımlamadan sonra servisteki tanımlanan fonksiyonları kullanabilirim. Formumuza iki textbox ve bir buton ekleyip butonun click olayını aşağıdaki şekilde kodlayalım.

private void button1_Click(object sender, EventArgs e)

{

bool sonuc = servisim.giris(textBox1.Text, textBox2.Text);if (sonuc == true)

{

MessageBox.Show("Tebrikler Giris BaŸarili");

}

else MessageBox.Show("Hatali giriis, Lutfen tekrar deneyiniz");

}

Artık programımız hazır, derleyip çalıştıralım.

Tabi biz burada kafadan bir kullanıcı adı ve şifre kullandık,sağlıklı bir login uygulamasında veri tabanından çekilmesi lazım web servis kısmında. Onun dışında bir web sitesine masaüstünden müdahalede bulunmak istiyorsak,  web sitesi ile haberleşmesi gerekilen her konuda webservisler çok sağlıklı bir çözüm sunmakta.

Mehmet Enver Bilen   | enver_emb@hotmail.com | mehmetbilen.com