Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, Sinan Arslan tarafından sunulan bir ASP.NET programlama dili eğitim içeriğidir. Eğitmen, web servislerde oturum yönetimi ve sipariş sistemi oluşturma konusunu adım adım göstermektedir.
- Video, web servislerde session kullanımı, kullanıcı kontrolü ve sipariş verme sisteminin geliştirilmesi üzerine odaklanmaktadır. İlk olarak, daha önce yazılan bir web servis uygulaması üzerinden sipariş verme işleminin nasıl yapıldığı gösterilmekte, ardından güvenlik sorunlarına değinilmektedir. Daha sonra, yeni bir web servis projesi başlatılarak, veritabanından kullanıcı kontrolü için metodlar geliştirilmekte ve Windows Form uygulaması ile entegrasyon yapılmaktadır.
- Eğitim içeriğinde ayrıca app.config dosyasındaki ayarlar, servis referansları, veritabanına kayıt yapma, ürün adı ve adet bilgilerini saklama ve sipariş geçildiğinde kullanıcıya bildirim verme işlemlerinin nasıl yapılacağı da gösterilmektedir. Video, bir hata düzeltme süreciyle devam eder ve sonunda başarılı bir sipariş sistemi çalıştırılır.
- Web Servis Uygulaması ve Session Kullanımı
- Videoda web servis uygulaması ile ilgili ilk örnek olan micros uygulaması incelenecek ve sonrasında session kullanımıyla ilgili bir örnek uygulama yapılacak.
- İlk yazılan projede tedarikçiden gelen ürün sipariş listesi görüntülenebiliyor ve ürün seçildiğinde miktar girilerek sipariş geçilebiliyordu.
- Web servisinin yayınlanmış adresine herhangi bir kişinin erişmesi durumunda sürekli sipariş geçilebiliyordu, bu nedenle session kullanımı ile kontrol edilecek.
- 01:37Yeni Web Servis Projesi Oluşturma
- Yeni bir proje başlatılarak .NET Framework 3.5 çatısı altında Web Services Application oluşturuldu.
- Proje açıldığında Solution Explorer bölümünde "asm x" isimli bir proje ve "Hello World" isimli bir metod bulunuyor.
- XML web servisleri kullanırken web metot etütünden yararlanılıyor ve servis metodunun access modifier'ı public olarak belirleniyor.
- 03:03Veritabanı Bağlantısı ve Kullanıcı Kontrolü
- E-ticaret sitesinin veritabanından tedarikçiler ve müşteriler bilgileri alınacak.
- İlk uygulamada web servisinin adresini elde eden herhangi bir kişinin sürekli sipariş geçebildiği görüldü.
- Bu sorunu çözmek için veritabanından o andaki kullanıcının sistemde var olup olmadığına bakan bir metod yazılacak.
- 04:17Kullanıcı Var Mı Metodu
- "public bool tipinde nedir kullanıcı var mı" isimli bir metod yazılacak.
- Metot, adı kısmına göre veritabanında arama yapacak ve varsa true, yoksa false dönecek.
- SQL connection kullanılarak veritabanına bağlantı sağlanacak ve SQL command ile "SELECT * FROM müşteri" sorgusu ile kullanıcı adı kontrolü yapılacak.
- 07:21Veritabanı İşlemleri
- SQL command'a parametre olarak kullanıcı adı eklenecek ve bağlantı durumu kontrol edilecek.
- Bağlantı kapalıysa açılacak, veriler okunabiliyorsa sonuç değişkeni true'ya çekilecek.
- İşlemler bittikten sonra bağlantı ve SQL data reader kapatılacak.
- 09:30Login Key Metodu
- Web servisinde kullanıcı kontrolü için "login key" isimli bir metod yazılacak.
- Bu metod string tipinde sonuç dönecek ve kullanıcı adı ile parola parametreleri alacak.
- Önce kullanıcı var mı metodu ile kullanıcı adı veritabanında var mı kontrol edilecek.
- 12:00Session Kullanımı
- Kullanıcı adı veritabanında varsa, yeni bir guild oluşturulup sonuç değişkeni atanacak.
- Session'a "cool" isimli bir isimle sonuç değişkeni atanacak.
- Web servislerde session kullanmak için "enable session" özelliği true'ya çekilmeli.
- 14:06Web Servisi Metodu Oluşturma
- Web servisi metodunda public tipinde bir metot oluşturuluyor ve bu metot sipariş verme işlemi için kullanılıyor.
- Metot, stream tipinde ürün adı ve string tipinde miktar parametrelerini alıyor ve 36 haneli bir session key döndürüyor.
- Metot, session'a atanmış key'i kontrol ederek veritabanına sipariş bilgilerini kaydediyor.
- 16:02Sipariş Verme İşlemi
- Sipariş verme işlemi için Steam sınıfından yararlanılarak veritabanına insert işlemi gerçekleştiriliyor.
- Sipariş bilgileri (isim, ürün adı, miktar) veritabanına kaydediliyor.
- Metot, sipariş geçildiğinde true, geçilmediğinde false döndürüyor.
- 21:09Windows Form Tasarımı
- Sipariş verme işlemi için basit bir Windows form tasarımı yapılıyor.
- Form üzerinde kullanıcı adı, şifre, ürün adı ve miktar için textbox'lar ve butonlar yerleştiriliyor.
- TextBox'lar isimlendiriliyor: txtKullanıcıAdı, txtŞifre, txtÜrünAdı ve txtMiktar.
- 25:53Web Servisi Referansları Ekleme
- Windows form projesine tedarikçi sipariş kontrolü için web servisi referansları ekleniyor.
- Servis referansları, servis asmx adreslerinden alınarak projeye ekleniyor.
- İki farklı servis referansı (servis referans bir ve servis referans iki) ekleniyor.
- 27:56Web Servisi Kullanımı
- Windows form projesinde servis referans bir üzerinden login metodu çağrılıyor ve kullanıcı adı ile şifre alınıyor.
- Login metodu 36 haneli bir session key döndürüyor.
- Servis referans iki üzerinden sipariş geçme metodu çağrılıyor ve ürün bilgileri ile session key gönderiliyor.
- 31:52Hata Ayıklama
- Windows form projesi çalıştırıldığında kullanıcı adı, şifre, ürün adı ve miktar bilgileri giriliyor.
- Sipariş geçme işlemi yapıldığında hata alınıyor.
- Hatanın sebebi belirleniyor ve çözüm için gerekli adımlar atılıyor.
- 33:34App Config Ayarları ve Session Kullanımı
- App config dosyasında allow cookiec true ayarı yapılarak session kullanımı sağlanıyor.
- Ürün adı, markalı model gibi bilgiler veritabanında tutulduğu için combobox üzerinden getirilmesi mantıklı değil.
- Session kullanırken enable station true ayarı yapılmadığı için hata oluşuyor.
- 37:33Hata Ayıklama ve Çözüm
- Projede dalgınlıkla eklenen servis referansı kaldırılıp, clean, rebuild ve build işlemleri yapılıyor.
- Session içerisinde objektifinden değer tuttuğu için bu değer geri çevriliyor.
- Form ekranının code bind bölümüne girip servis referans bir içerisindeki sv'deki sipariş geçi çağrısı yapılıyor.
- 39:01Son Hata ve Çözüm
- Sing pad'de bir hata olduğu belirtiliyor ve metodun içerisine geri dönüp session text ekleniyor.
- Hatanın sebebi, belirtilen isimde bir txt dosyası yapılmamış olması.
- Veritabanına kaydetmek istenmediği için txt dosyası kullanılıyor, veritabanına kaydetmek istenirse insert işlemi yapılacaktı.
- 40:25Sonuç ve Kapanış
- Sipariş desteği eklendikten sonra kullanıcı adı, ürün adı ve adet bilgileri girilerek sipariş geçiliyor.
- Sipariş geçildiğinde C:\siparişler.txt dosyasına "Nike adlı üründen beş adet sipariş geçildi" şeklinde kaydediliyor.
- Videoda servis referansı eklendiği için özür diliyor ve bir sonraki videoda görüşmek üzere veda ediliyor.