Bu site emekli olmuştur. Arşiv amaçlı olarak
BT AKADEMİ
sponsorluğunda yayın hayatına devam etmektedir.
Ana Sayfa
.net TV
Makaleler
Kaynak Kod
Haberler
Serbest Köşe
Canlı Köşe
Forum
C#nedir?
Ekibimiz
RSS
.NET 3.x
YAZAR HAKKINDA
Çağdaş Davulcu
http://www.csharpnedir.com/
İletişme geçmek için
tıklayın
.
6
Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için
tıklayın
.
Yayınlanan diğer makaleleri için
tıklayın
.
İlgili etiketler:
aktivite
aktivitelerini
aktivitesi
aktivitesini
aktivitesinin
basarak
birakin.
birden
condition
dosyasini
executecode
invokeworkflow
sequence
workflow
workflow2
.NET 3.x
Çağdaş Davulcu
YAZI HAKKINDA
Türü
:
Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi
:
Başlangıç
Kategori
:
.NET 3.x
Yayınlanma Tarihi
:
1.2.2008
Okunma Sayısı
:
22906
Yorum Sayısı
:
0
yorum yaz
SİTE İÇİ ARAMA
Üye
GİRİŞİ
Üye girişi için
tıklayın
.
Kullanıcı Adı
Şifre
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
Şifremi / Kullanıcı Adımı unuttum.
C#nedir? hesabınız yok mu?
Üye olabilmek için
tıklayın
.
Serbest KÖŞE
(?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
Bende Yazmak İstiyorum
Blogroll
Burak Selim Şenyurt
Bellek Yönetiminde Verimlilik için İpuçları (Rust Odaklı)
5.5.2025
Burak Selim Şenyurt
Rust ve Güvenli Bellek Yönetimi Hakkında
5.5.2025
Diğer Herşey
»
Makaleler RSS
»
Video Gönder
»
Makale Gönder
»
Serbest Köşeye Yazı Gönder
»
Yazar Başvurusu
»
C#nedir? Ekibinde Olmalıyım!
Sponsorlar
Ana Sayfa
/
Makaleler
/
Çağdaş Davulcu
/
.NET 3.x
/
WWF - Akış Kontrolü Aktivitelerinin Kullanımı - II
WWF - Akış Kontrolü Aktivitelerinin Kullanımı - II
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
Akış kontrolü aktivitelerinin kullanımı yazımın birinci bölümünde IfElse, IfElseBranch ve ConditionalActivityGroup aktivitelerini açıklamıştım. Bu bölümde ise While, Sequence ve InwokeWorkflow aktivitelerinin kullanımlarını anlatacağım. InvokeWorkflow aktivitesi, WWF teknolojisi ile kendi framework’ünü geliştirmek isteyecek kişilere yeni fikirler sunacaktır.
While Activity
C# sözdizimi içerisinde while anahtar kelimesi ile kullanılan While aktivitesi, WWF teknolojisi altında bütün programlama dillerinde olduğu gibi döngü görevindedir. While aktivitesinin Conditon özelliğinde belirteceğiniz koşul gerçekleştiği sürece While aktivitesi içerisinde bulundurduğu aktiviteyi çalıştıracaktır. While aktivitesi Sequence aktivitesi gibi içerisinde birden fazla aktivitenin belirli bir akış içerisinde bulunmasını desteklemez. While aktivitesi içerisine sadece bir tane aktivite koyabilirsini. Eğer birden fazla aktiviteyi while aktivitesi aracılığıyla çalıştırmak istiyorsanız, bir sonraki aşamada göreceğiniz Sequence aktivitesini While aktivitesi içerisine sürükleyip bırakmalısınız.
While Activity Tanımlaması:
•
Uygulamanızın kod bölümünü açın ve int tipinde Sayac adında ve değeri 0 olan bir field tanımlayın.
•
Toolbox’tan While aktivitesi alın ve diyagram üzerine bırakın.
•
While aktivitesinin koşulunu belirlemek için While aktivitesini seçin ve özelliklerinden ister Code Condition ister Declarative Rule Condition kullanarak Sayaç değerinin 10’dan küçük olduğunu denetleyin. Ben genel olarak Declarative Rule Condition kullanmayı tercih ediyorum.
While aktivitesinin koşulunu tanımlamamıza rağmen hala uyarı ile karşılaşıyoruz. Bunun nedeni while aktivitesi içerisine çalıştırılacak aktivite koymamamızdandır.
•
While aktivitesi içerisine bir tane Code aktivitesi sürükleyip bırakın. CodeActivity1’in ExecuteCode özelliğine Say yazın ve Enter butonuna basın. Sizin için yazılan Say metodu içerisine aşağıdaki kodları yazın.
•
Yukarıdaki adımları izlerseniz, While aktivitesinin tanımlama işlemini tamamlamış olacaksınız.
Uygulamamızı Test Edelim:
•
Uygulamanız içerisindeki Program.cs dosyasını açın.
•Program.cs dosyasını açtığınızda aşağıdaki ekran görüntüsü ile karşılaşacaksınız.
Ctrl + F5 tuşlarına basarak uygulamanızı çalıştırın.
Uygulamanızı çalıştırdığınızda While aktivitesi çalışacaktır. While aktivitesi içerisine koyduğunuz Code aktivitesi, While aktivitesinde belirlediğiniz koşul gerçekleştiği sürece çalıştırılacaktır. Koşul bölümünde başlangıç değeri 0 olan Sayaç değişkenin 10’dan küçük olması kontrol ediliyordu. Böylelikle yukarıdaki gibi bir çıktı ile karşılaştık.
While Activity
Sequence aktivitesi tek dal üzerine istediğimiz kadar aktivite ekleyebilmemizi sağlayan aktivite türüdür. WWF ile uygulama geliştirirken içerisine tek bir aktivite eklenebilen aktiviteler ile karşılaşacaksınız(örn: While Aktivitesi). Bu durumda Sequence aktivitesi içerisine istediğiniz kadar alt aktivite ekleyip, içerisinde birden fazla alt aktivite bulunduran sequence aktivitesini de bir aktivite olarak herhangi bir aktivite içerisine ekleyebilirsiniz.
Sequence Activity Tanımlaması:
•
Uygulamanızın kod bölümüne geçin, int tipinde Sayac adında ve değeri 0 olan bir field tanımlayın
•
Diyagram üzerine While aktivitesinden sürükleyip bırakın ve while aktivitesinin koşulunu belirleyin.(Bir önceki uygulama ile aynı koşulu belirliyorum.)
•
While aktivitesi içerisine birden fazla aktivite yerleştirebilmek için Toolbox’tan bir tane Sequence aktivitesini sürükleyip While aktivitesi içerisine bırakın.
Bu aşamadan sonra sequence aktivitesi içerisine istediğiniz kadar alt aktivite sürükleyip bırakabilirsiniz. Şimdi SequenceActivity1 içerisine bir tane IfElse aktivitesi sürükleyip bırakın.
•
IfElseBranchActivity1’in Condition özelliğini
(this.Sayac % 2) == 1
olarak belirleyin.
•
IfElseBranchActivty1’in içerisine Code aktivitesi sürükleyip bırakın.
•
IfElseBranchActivty2’nin içerisine Code aktivitesi sürükleyip bırakın.
•
CodeActivity1’in ExecuteCode özelliğine Code1Calistir, CodeActivity2’nin ExecuteCode özelliğine Code2Calistir değerlerini yazınız.
•
Aşağıdaki kodu yazarak Code aktivitelerini işleyiniz.
•
IfElseActivity1’in bitimine bir Code aktivitesi daha ekleyin ve Name özelliğini caSayaciArttir olarak belirleyin.
•
ExecuteCode özelliğini SayaciArttir olarak belirleyin ve SayaciArttir metodu içerisine aşağıdaki kodları yazın.
Buraya kadar Sequence aktivitesinin tanımlama işlemini yapmış oldunuz. Bu diyagram bir While aktivitesi içerisindeki Sequence aktivitesinde yaptığımız kontrol mekanizması sonucu Sayac değişkenin o anki değerinin tek sayı mı yoksa çift sayı mı olduğunu belirliyor.
Uygulamamızı Test Edelim:
•
Uygulamanız içerisindeki Program.cs dosyasını açın.
•
Program.cs dosyasını açtığınızda aşağıdaki ekran görüntüsü ile karşılaşacaksınız.
•Ctrl + F5 tuşlarına basarak uygulamanızı çalıştırın.
Sayac değişkenin o anki değerinin tek mi yoksa çift mi olduğunun belirlendiğini yukarıdaki ekran görüntüsünden rahat bir şekilde anlıyoruz.
InvokeWorkflow Activity
InvokeWorkflow aktivitesini daha önceden tanımladığımız workflow’u başka bir workflow içerisinden çalıştırmak için kullanırız. Kendi workflow framework’ünüzü oluşturduğunuzda çok işinize yarayacak bir aktivitedir.
InvokeWorkflow aktivitesi çağırılan workflow yapısına göre değişiklikler gösterebilir. Örneğin çağıracağınız workflow dışarıdan parametre alıyorsa InvokeWorkflow içerisinde bazı işlemler yapmanız gerekecektir. Bundan sonraki tüm yazılarımda kullanacağım özellikleri DepencencyProperty olarak tanımlayacağım. Bu workflowlar arasında sıkı bağ kurmamı sağlayacak.
Çağırılacak Worflow’un Tanımlanması:
Solution Explorer penceresinde projeniz üzerine sağ tuşla tıklayın ve
Add --> Sequential Workflow
bölümünü seçin
•
Workflow’un adını Workflow2 olarak bırakın ve Add butonuna basın.
•
Açılan bölümde diyagram üzerine bir tane Code aktivitesi sürükleyin. Cod aktivitesinin ExecuteCode özelliğini “Calis” olarak değiştirin.
Şimdi dışarıdan parametre olarak alacağımız değer için bir tane DependencyProperty tanımlayın.
Not:
Bu tanımlamayı Workflow2 içerisinde yaptık.
•
Calis metodu için aşağıdaki kodu yazın.
•Son durum aşağıdaki gibi olacaktır.
InvokeWorkflow Tanımlaması:
•
Workflow1.cs dosyasını açın.
•
Diyagram üzerine InvokeWorkflow aktivitesi sürükleyip bırakın.
•
Buradaki uyarı InvokeWorkflow aktivitesinin hangi workflow’u çağıracağını belirtmememizden kaynaklanmaktadır. InvokeWorkflow aktivitesinin özelliklerine gelin ve TargetWorkflow özelliğinin yanında gözüken butona tıklayın.
•
Açılan pencereden Workflow2’yi seçin.
•
OK butonuna basarak pencereyi kapatın. Uygulamayı derleyin ve aşağıdaki ekran görüntüsüne sahip olacaksınız.
•
InvokeWorkflow aktivitesinin özelliklerine tekrar gelin. Özelliklerinde Wokflow2 içerisinde tanımladığımız Mesaj özelliğini göreceksiniz.
•
Mesaj özelliğine “Çağdaş” değerini verin. Bu Workflow2’yi “Çağdaş” değeriyle çalıştıracağı anlamına geliyor.
Buraya kadar workflow1 içerisinden InvokeWorkflow aktivitesi aracılığıyla çağrılacak Workflow2 workflow’unu tanımladık. Workflow2 içerisinde DependencyProperty olarak Mesaj özelliği tanımladık. Workflow1 içerisndeki InvokeWorkflow aktivitesini kullanarak Workflow2’yi çağırdık.
Uygulamamızı Test Edelim:
•
Uygulamanız içerisindeki Program.cs dosyasını açın.
•
Program.cs dosyasını açtığınızda aşağıdaki ekran görüntüsü ile karşılaşacaksınız.
•
Ctrl + F5 tuşlarına basarak uygulamanızı çalıştırın.
Uygulamanın doğru çalıştığını göreceksiniz.
Bu bölümde While, Sequence ve InvokeWorkflow aktivitelerini tanımış oldunuz. Out-Of-The-Box aktivitelerinden sizin için seçtiğim bu 3 aktivitelerin tanımlanmasını ve uygulanmasını da yazı içeriside tecrübe ettiniz. Bir sonraki yazımda sizlere Paralel, Delay, Replicator, Suspend, Terminate aktivitelerini anlatacağım. Takıldığınız noktalarda daha önceki yazılarıma bakarak eksiklerinizi giderebilirsiniz.
Çağdaş Davulcu
cagdas.davulcu@hotmail.com
Makale:
WWF - Akış Kontrolü Aktivitelerinin Kullanımı - II .NET 3.0 ve .NET 3.5 Özel Bölümü Çağdaş Davulcu
Yazılan Yorumlar
Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için
tıklayın
.
Üye değilseniz
Üyel Ol
linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
Bu Konuda Son 10
Eklenen Son 10
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
Dizayn ve Kodlama
bt
akademi
. Tüm Hakları Saklıdır © Copyright 2002-2009 c#nedir?com
Makaleler
Serbest Köşe
Makale Gönder
.Net TV
Video Gönder
Canlı Köşe
Kaynak Kod
Forum
Haberler
Röportajlar
Anketler
C# Nedir?
İletişim
Site Haritası
RSS
Favorilere Ekle
Üyelik
Hesap Aktivasyon
Ekibimiz
Ekibe Katıl