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
ADO.NET/SQL
C / Sys Prog.
Genel
Mono ve .NET
Silverlight
XML / Web Serv.
X86 Assembly
C++ / C++.NET
J#.NET / Java
.NET 3.x
UML / Analiz
Yazılım Müh.
ASP.NET
C# / VC#/.NET
Mobil Prog.
PHP 5
YAZAR HAKKINDA
Turhal Temizer
http://www.turhaltemizer.com
İletişme geçmek için
tıklayın
.
92
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:
.net fx
3.0
Foundation
Temizer
Turhal
Turhal Temizer
WCF
WF
Wokrflow
Worfklow Foundation
WPF
WWF
.NET 3.x
Turhal Temizer
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
:
28.3.2010
Okunma Sayısı
:
18309
Yorum Sayısı
:
1
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
Turhal Temizer
Conda install environment.yml Package
21.11.2024
Turhal Temizer
Mac OS/X Removing CUDA
21.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak
21.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi
21.11.2024
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
/
.NET 3.x
/
WF - Conditions
WF - Conditions
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
.Net Frameowork 4.0 ile Windows Workflow Foundation iş akışı yapısının 4 sürümünün çıkışı çok yaklaşmışken biz WWF 3.x sürümleri yardımı ile iş akışı süreçlerini örnekler yardımı ile incelemeye devam ediyor olacağız. Bu güne kadar iş akışına temel bir giriş yaptık ve araç kutusunda yer alan iş akışı bileşenlerini nasıl kullanabileceğimizi tek tek incelemeye başladık. Bu inceleme işlemlerini örnekler ile zenginleştirerek ise bizlerin kullanımı esnasında dikkat edecek olduğumuz noktalara da değinmeye çalıştık. Bu formatta devam ederek Windows Workflow Foundation ile
Condition
(Koşul) kavramını inceliyor olacağız.
Condition denildiği zaman aklımıza While ve IfElseBranchActivity bileşenlerinde süreci durduracak ya da başka bir işlem yapmamıza olanak tanıyacak bir kriter olarak gelmektedir. bir önceki Parallel Activity yazımızda While döngüsüne denk gelen aktivite bileşenini kullanırken kısmen bu özelliği nasıl kullanabileceğimize kısaca göz atma fırsatı bulduk. Ancak Condition 'ı tamamen nasıl kullanabileceğimizi bu yazımızın içerisinde kullanıyor olacağız.
Şimdi Condition yapısını örnek üzerinde inceleyelim. Bu örneğimizi yaparken Visual Studio 2010 ide sini ve .Net Framework 3.0 sürümünü kullanıyor olacağız.
Uygulamayı geliştirmek için Sequential Workflow Console Application tasarımında proje oluşturduktan sonra ekrana bir adet While aktivitesi sürüklüyoruz.
Tasarım ekranı üzerine sağ tıklama yaptıktan sonra özellikler ekranından Condition değerleri verebileceğimiz bölüme ulaşabilmemiz mümkündür. Kullanabileceğimiz Condition tipleri iki adettir. Bunlar;
şeklinde yer almaktadır. Bu koşul tiplerinden en hızlı çalışanı ve en çok tercih edileni
Code Condition
'dır. Bizde koşulları incelerken ilk olarak kod üzerinden inceliyor olacağız.
Bu işlem için kod tarafına geçerek koşul olarak kullanacak olduğumuz rakam artışını sağlayan method hazırlıyoruz.
private int
count
;
private void
ContinueLooping
(object sender,
ConditionalEventArgs
args)
{
args.Result = (count < 10);
}
Condition olarak kullanacak olduğumuz metodu hazırladıktan sonra tasarım ekranında While aktivitesinin içerisine ve aktivitenin sonuna olmak üzere iki tane kod aktivite ekliyor ve aşağıdaki kod parçalarını yazıyoruz.
private void codeActivity1_ExecuteCode(object sender, EventArgs e)
{
Console.WriteLine("Merhaba {0}",count);
count++;
}
private void codeActivity2_ExecuteCode(object sender, EventArgs e)
{
Console.ReadLine();
}
Şimdi ise While Aktivitesine koşulu eklemeye sıra geldi. Bunun için özellikler ekranında condition özelliğine
code condition
seçeneğini seçtikten sonra Contions özelliğine bizim oluşturmuş olduğumuz
ContinueLooping()
'i gösteriyoruz.
Yapmış olduğumuz bu işlemler sonrasında koşulları da aktif olarak kullandığımız uygulamanın çalıştığı anki ekran görüntüsü aşağıdaki gibi olacaktır.
Kod yardımı ile oluşturmuş olduğumuz koşulu işlediğimizde sorunsuzca çalıştığını görmüş olduk. Kod koşulları dışında kullanabileceğimiz bir diğer seçenek ise kural bazlı koşullar (rule conditions) dır. Bu seçeneği kullandığımız durumlarda bir öncekinden farklı olarak koşulları girebileceğimiz bir ekran karşımıza çıkacak ve kriterimizi buraya girmiş olacağız. Bu yapmış olduğumuz değişiklikleri ve eklentileri arka plan Workflow Foundation xml içerisinde saklayarak bizim While ya da ifElseBranch aktivitelerini kullanacağımız durumlarda kullanmamıza olanak tanıyacaktır.
Kural bazlı aktiviteleri kullanmak için ilk yapılması gereken koşul kullanılacak olan aktivinin özelliklerinden ki bu bizim örneğimiz için while aktivitesi oluyor, Condition özelliğini
Rule Condition
olarak belirtiyoruz.
Condition tipi seçme işlemini tamamladıktan sonra ConditionName özelliğine istediğimiz herhangi bir değer verdikten sonra sağ tarafında yer alan butona tıklayarak kriterleri girecek olduğumuz ekranın açılmasına olanak tanıyoruz.
Yukarıdaki ekranda yapmış olduğumuz işlemlerden de görmüş olduğunuz üzere daha önceki örneğimizde kod yardımı ile oluşturmuş olduğumuz sayacın 10 dan ufak olana kadar çalışmasını sağlayan bir metot hazırlamış ve kullanmıştık. Bu kullanımda ise bu tür işlemler yapılmasına gerek yoktur. Eklenmiş olunan kriterlere istenen değerler atanarak While aktivitesinde sorunsuzca kullanılabildi. Ayrnıca karşımıza çıkan bu ekranın diğer özelliklerinden biri de başka kriterler ekleyebilir, bu kriterleri düzenleyebilir, silebilir ya da isimlerini değiştirebiliriz.
Şimdi ise yapmış olduğumuz işlemler sonrasında bakalım ekran görüntüsü ya da çalışma mantığında değişen bir şey olmuş mu?
Gördüğümüz kadarıyla herşey sorunsuz gözüküyor. Bu da bize hem Code Condition hem de Rule Condition ile elde ettiğimiz sonuçların aynı olduğunu göstermektedir. Aralarında en büyük fark kullanım şekillleridir. Ancak dikkat edeceğiniz üzere kullanım şekilleri farklı olmakla birlikte aslında yazılan kod parçaları ve işlem adımları birbirlerine çok benzerdir.
Şimdi üzerinde denemeler yapmış olduğumuz örneği biraz daha karmaşık bir duruma getirirken hem de
ifElse
aktivitesinde de koşulları nasıl kullanacağımıza göz atıyor olalım.
Yapacak olduğumuz işlem için tasarım ekranında şu şekilde bir değişiklik yapmamız gerekmektedir. While aktivitesinin içerisine bir Sequence aktivite ekledikten sonra onun içerisine de ifElse aktivite ekliyoruz. Sonrasında ise ifElse aktivitesinde olacak sonuçları gözlemleyebilmek için Code Activity 'ler ekleyerek tasarım ekranında yapılacak olan değişikleri tamamlıyoruz.
Tasarım ekranında yapacak olduğumuz değişiklikleri tamamladıktan sonra sıra koşulları belirlemeye geldi. Bunun için ise ifElse aktivitesinin özelliklerinden Condition seçeneğine Rule Activity değerini atadıktan sonra aktivitenin 5 ten ufak olan değer için merhaba yazmasını diğerleri için ise Hoşçakal yazmasını sağlayacağız. Hoşçakal yazması için sağ taraftaki kod aktivitesine
Console.WriteLine("Hoşçakal"); count++;
kodları yazılır.
Yapmış olduğumuz işlemler sonrasında yapmış olduğumuz işlemler konusunda istediğimizi alabilmiş miyizi kontrol edebilmek için uygulamayı çalıştırıyor ve sonuçları gözlemliyoruz.
Sonuç oldukça başarılı :)
Bu yazımızda
Workflow Foundation
'da
Condition
kavramını inceleye çalıştık. Condition tiplerinden hem
Code Condition
olarak nasıl yapabileceğimizi hem de
Rule Condition
olarak nasıl kullanabileceğimizi örnekler yardımı ile inceledikten sonra
While
ve
ifElse
aktiviteleri üzerinde Condition tipleri yardımı ile örnekler yaparak yazımızı tamamladık.
Umarım yararlı olabilmiştir.
Turhal Temizer
[email protected]
http://www.turhaltemizer.com
Makale:
WF - Conditions .NET 3.0 ve .NET 3.5 Özel Bölümü Turhal Temizer
Yazılan Yorumlar
Yorum Yaz
NİS
2
2010
Tural Xasiyev
/
üye hakkında
paylaşım için təşəkür ederiz. Ama ben makaleyi yazdıramadım.yazadıra basıyorum....
Sayfalar :
1
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