Etiket arşivi » c# application «

C# : Olay Oluşturma ve Asenkron Metod Örneği

csharp C# : Olay Oluşturma ve Asenkron Metod Örneği dot net c sharpSelamun Aleykum Cümleten,

Son birkaç yazım ile ilgili basit bir örnek yapayım dedim döküman yazmak yerine.

Programı kaba taslak özetliyeyim; veritabanında kullanıcıya mesajın olup olmadığını kontrol ediyor, event i butona tıkladıktan sonra gerçekleştiriyor. Biz isteseydik formun actived olayında da kurabilirdik.

Diğer birşey ise ; DBKontrolLib.cs de bulunan 2 tane delegaete. Bundan biri (TemsilciHandler) olayımızın kullandığı delegate, diğeri ise (AsynKontrolCalistirHandler) olayımızı asenkron çalıştıracak bir delegate. Hatırlayacağınız üzere biz asenkron işlemlerini delegate üzerinden yapıyorduk. KontrolEt metodunu ise her dakikada bir defa (15. saniyede) çalışacak şekilde sonsuz bir döngüye soktuk.

MyEventArgs sınıfı nedir diye sorarsanız, .NET kütüphanesinde bulunan olayların çoğuna bakın object ve EventArgs türünde iki nesne vardır, bunun sebebi de kısaca şudur : olayın meydana geldiği andaki bilgilerin aktarılması. Yani oalyın gerçekleştiği an nerede ne, nasıl oldu vs. Biz MyEventArgs sınıfını veritabanında bulunan mesajları string türünde bir diziyle olaya bir metod atandığı zaman erişilebilsin diye yazdık. Form1.cs içerisinde bulabilirsiniz olayın gerçekleştiği anda ki bilgilere e.mesaj diyerek ulaştık tabi MyEventArgs sınıfında daha çok şey tanımlayabilirdik ama sade ve anlaşılır olsun diye basit birşeyler yapmak istedim.

Sınıf biraz daha geliştirilerek kullanıcı mesajları okuduktan sonra okundu olarak işlenebilir, tabi bizim amacımız delegate/olay/asenkron olduğu için bu kadarını yeterli gördüm.

Projeyi aşağıdan indirebilirsiniz.

[PROJE]

c örnek uygulama C# : Olay Oluşturma ve Asenkron Metod Örneği dot net c sharp

İyi çalışmalar.

C# : Asenkron Programlama – Thread, BeginInvoke vs.

csharp C# : Asenkron Programlama   Thread, BeginInvoke vs. dot net c sharpSelam herkese , öncelikle herkesin mevlid kandilini kutlarım.
Bugün asenkron mimarisini inceleyeceğiz inş.

Asenkron mimari nedir ?
Süreçlerin bağımsız bir şekilde aynı anda devam etmesi şeklinde yorumlanmaktadır.

C# da asenkron mimari yapısını uygulamak için genel anlamda kullanılan iki ana yapı mevcuttur.

  1. Thread Sınıfı
  2. Asenkron Metodlar (BeginInvoke, Stream.BeginRead vb)

Bilgisayarlar aynı anda birden fazla işlem yapamaz, nasıl yapamaz ? Şöyle ki ; Biz her ne kadar word de bir yazı yazıyor ve winampta şarkı dinliyorken her iki işlemi biz her ne kadar aynı anda yapıyormuş gibi algılasakta değildir, yaptığımız bu işlemler sırasıyla yapılmaktadır. Toplam işlemler iş parçacıklarına bölünerek sırasıyla yapılır.

Bizde normal şartlar altında bir müdahelede bulunmadığımız sürece programlarımız senkron çalışır, yani kodu okur görevini yerine getirdikten sonra bir alt satırdaki kod ile devam eder. Asenkron programlama ile biz programımız bir şeyi yaparken onunla beraber başka şeyler yapmasını isteriz. Bunuda işlemleri parçacıklara bölerek gerçekleştirir bir ondan bir bundan, bir ondan bir bundan :)
more »