WCF Nedir? – Ötesi şeyler
Ana sayfa » WCF Nedir?
27 Haziran 2020	0	Yazar: Ertan Eryılmaz
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 ?
// NOTE: If you change the interface name “IService1” here, you must also update the reference to “IService1″ in Web.config.
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 ile başlayan satırı silip gelen kullanıcı adı ve şifreyi işlemek için bir kod yazıcağız.
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.
bool sonuc = servisim.giris(textBox1.Text, textBox2.Text);if (sonuc == true)
MessageBox.Show(“Tebrikler Giriş Başarılı”);
else MessageBox.Show(“Hatali giriis, Lutfen tekrar deneyiniz”);
Artık programımız hazır, derleyip çalıştıralım.
KategoriAsp.Net Core & C# Yazılım ötesi
Etiketler.net core ASP.NET Core c# WCF Web Api Web Service