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
Ç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:
“merhaba
aktiviteleri
altinda
araciligi
arasindaki
bulunan
butonuna
iletisimi
ilgili
metodu
olusturdugumuz
projesi
sinifi
windows
workflow
.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
:
15.1.2008
Okunma Sayısı
:
28555
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ı)
1.5.2025
Burak Selim Şenyurt
Rust ve Güvenli Bellek Yönetimi Hakkında
1.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
/
.NET 3.x
/
Windows Workflow Foundation ile İlk Projemiz
Windows Workflow Foundation ile İlk Projemiz
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
Yeni bir teknoloji ile karşılaştığımızda, her zaman programcılık felsefesi gereği “Merhaba Dünya” projesi yapılır. Bir önceki bölümde Windows Workflow Foundation(WWF) ile ilgili kavramsal konulardan söz etmiştim. Şimdiki amacım ise WWF ile ilgili “Merhaba Dünya” uygulaması yapmak. Daha sonra aktivite(activity) kavramı ve out-of-the-box aktivitelerinden söz ederek Windows Workflow Foundation teknolojisinin derinlerine doğru ilerlemek.
Bilinmesi Gerekenler :
1.
AutoResetEvent: System.Threading
isim alanı altında bulunan
AutoResetEvent
sınıfı, Threadler arasındaki iletişimi sinyaller aracılığı ile sağlar.
ThreadPool
içerisinde bekleyen bir
thread
’in çalışmaya devam etmesini işaret ederken, sistemin içinde bulunduğu
thread
’i beklemeye alır. Bu sınıfın
Resume
metodu ise sistemin içerisinde bulunan bekleyen
thread
’in çalışmaya devam etmesini sağlar.
Set
metodu ise
thread
ler arasındaki iletişimi sağlayan sinyali yollar ve mevcut
thread
sunulmuş olur.
WaitOne
metodu, o anki
thread
’in sinyal gelene kadar beklemesini sağlar.
2.
WorkflowRuntime:
System.Workflow.Runtime
isim alanı altında bulunan
WorkflowRuntime
sınıfı, oluşturduğumuz
workflow
ların çalışma zamanında oluşturulmasını ve hizmet vermeye başlatılmasını sağlayan sınıftır.
CreateWorkflow
metodu ile daha önceden tanımlamış olduğumuz
workflow
’dan bir örnek oluşturur.
3.
WorkflowInstance:System.Workflow.Runtime
isim alanı altında bulunan
WorkflowInstance
sınıfı,
WorkflowRuntime
sınıfı aracılığı ile oluşturduğumuz örneği yönetmek için kullanılır.
Start
metodu, oluşturulan örneğin hizmet vermeye başlamasını sağlan metottur.
Uygulama Adımları:
Bir önceki aşamada örneğimize geçmeden önce bilmemiz gereken Bu bölümde ilk
Windows Workflow Foundation
uygulamamızı yaparken hangi adımları izlememiz gerektiğini göreceğiz.
1.
İlk olarak
File
--> New Project
menüsüne tıklayın. Açılan menüden
Visual C#
sekmesinin altındaki
Workflow
menüsünü seçin. Sol tarafta
Workflow
template
lerinin listelendiğini göreceksiniz
. Sequential Worflow Library
template
’ini seçerek OK butonuna basın.
Yukarıdaki ekran görüntüsünde
SequentialWorkflowLibrary
haricinde boş bir Workflow projesi başlatmak için kullanılan
Empty
Workflow Project
, State Machine kütüphanesi hazırlamak için
State Machine Workflow Library
, kendi aktivitenizi tanımlamak istediğinizde kullancağınız
Workflow Activity Library
templateleri bulunmaktadır.
2.
OK butonuna bastığınızda aşağıdaki ekran görüntüsündeki gibi
sequential workflow
ara yüzünü göreceksiniz.
3.
Solution Explorer
penceresinde oluşturmuş olduğunuz
sequential workflow
, Workflow1.cs adıyla gözükecektir.
4.
SequentialWorkflowActivity
’i seçince özellikler penceresinde
Completed
ve
Initialized
gibi özelliklerini göreceksiniz. Buralara metot isimleri vererek
Completed
işlemi oluştuğunda sizde kendi işleriniz yaptırabilirsiniz.
5.
Toolbox
’a baktığınızda
Code
ve
IfElse
gibi aktiviteleri göreceksiniz. Bu aktiviteleri
Sequential Workflow
üzerine sürükleyip bırakabiliriz. İlerleyen bölümlerde bu aktivitelerin hepsini teker teker sizlerle paylaşacağım.
6.
Sequential Workflow
üzerine bir adet
CodeActivity
sürükleyip bırakalım. Sürükleme bırakma işleminden sonra
CodeActivity
’nin sağ üst köşesinde
ünlem
işaretinin çıktığını göreceksiniz. Bunun anlamı bu
CodeActivity
ile ilgili hiçbir implementasyonun yapılmadığıdır.
7.
CodeActivity
’i seçip özellikler penceresini açtığınızda,
ExecuteCode
bölümünün yanında bir ünlem göreceksiniz. Buraya
CodeActivity
çalıştığında çalıştırılacak metodun adını yazarak enter butonuna basın.
8.
Aşağıdaki bölüme
“MerhabaDunyaYaz“
yazıyorum ve Enter butonuna basıyorum.
9.
Açılan kod bölümünde
“MerhabaDunyaYaz”
metodunun yazıldığını göreceksiniz.
10.
Bizim yerimize yazılan
“MerhabaDunyaYaz”
metodu içerisine aşağıdaki kodu yazınız.
Console.WriteLine(“Merhaba Dünya”);
11.
Bu adımdan sonra geliştirdiğimiz
Workflow
uygulamasını kullanmak için
Solution
’umuz içerisine
File
--> Add
--> Project
menüsünden yeni bir
Console Application
ekliyoruz.
12.
Solution içerisine
Console Application
’ı ekledikten sonra aşağıdaki ekran görüntüsüne ulaşacaksınız.
13.
Şimdi
Console Application
içerisindeki
References
bölümüne sağ tuşla tıklayın ve açılan menüden
Projects
sekmesine gelin. Bu sekmede biraz önce geliştirmiş olduğunuz Workflow1 adlı
Sequential Workflow Library
’i referans olarak projeniz içerisine ekleyin. Böylelikle bu kütüphaneyi kullanabilir hale geleceksiniz.
14.
OK butonuna bastıktan sonra
References
sekmesini genişlettiğinizde karşınıza çıkacak görüntü aşağıdaki gibi olmalıdır.
15.
Console Applicaton
içerisinde bulunan
References
sekmesine bir kere daha sağ tuşla tıklayın ve
System.Workflow.Runtime
,
System.Workflow.Activities
,
System.Workflow.ComponentModel
referanslarını projenize ekleyin. Bir
Workflow
uygulamasını sunmanız için bu referanslara ihtiyacınız olacak.
16.
Projeniz içerisine referansları da ekledikten sonra artık aşağıdaki kodları yazıp
ctrl+F5
butonlarına basarak uygulamanızın çalıştığınız görebilirsiniz.
Aşağıdaki kodda
multi-threading
çalışabilmek için
AutoResetEvent
sınıfından faydalanıyoruz. Oluşturduğumuz
WorkflowRuntime
sınıfının wrf örneğinin
WorkflowComplated
ve
WorkflowTerminated
eventlerini kullanarak
thread
ler arasındaki sinyalleşmeyi sağlıyoruz. Ayrıca
WorkflowTerminated
olayında hata çıkarsa, çıkan hatayı konsola yazdırıyoruz.
17.
Ctrl+F5
butonuna bastığınızda ilk
Workflow
Projenizin başarı ile çalıştığını göreceksiniz.
Yukarıdaki uyguladığımız 17 adımda, sizin için gizli kutu olan
Windows Workflow Foundation
ile ilgili WF Tanımlama, Mevcut Proje içerisine WF’u dahil etme ve WF’u sunma işlemlerini yaptık. Bu işlemleri yaparken
AutoResetEvent
,
WorkflowRuntime
ve
WorkflowInstance
sınıflarının ne işe yaradıklarını ve kullanımlarını öğrendiniz. Bundan sonraki yazımda toolbox içerisinde bizlere sunulmuş olan aktiviteleri sizlerle paylaşacağım.
Çağdaş Davulcu
cagdas.davulcu@hotmail.com
Makale:
Windows Workflow Foundation ile İlk Projemiz .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