Belge Onay İşlemi
DocumentApprovalProcess örneği, birçok Windows Workflow Foundation (WF) ve Windows Communication Foundation (WCF) özelliğinin birlikte kullanımını gösterir. Birlikte bir belge onay süreci senaryosu uygularlar. İstemci uygulaması onay için belge gönderebilir ve belgeleri onaylayabilir. İstemciler arasındaki iletişimi kolaylaştırmak ve onay işleminin kurallarını uygulamak için bir onay yöneticisi uygulaması vardır. Onay işlemi, çeşitli onay türlerini yürütebilen bir iş akışıdır. Tek bir onay, bir çekirdek onayı (onaylayanların yüzdesi) ve bir dizideki çekirdek ve tek onaydan oluşan karmaşık bir onay süreci almak için etkinlikler vardır.
Örnek Ayrıntılar
Aşağıdaki grafikte belge onay işlemi iş akışı gösterilmektedir:
İstemcinin bakış açısından, onay işlemi aşağıdaki gibi çalışır:
İstemci, onay işlemi sisteminde bir kullanıcı olmak için abone olur.
WCF istemcisi, onay yöneticisi uygulaması tarafından barındırılan bir WCF hizmetine gönderir.
İstemciye benzersiz bir kullanıcı kimliği döndürülür. İstemci artık onay süreçlerine katılabilir.
Bir istemci katıldıktan sonra tek, çekirdek veya karmaşık onay işlemlerini kullanarak bir belgeyi onay için gönderebilir.
İstemcinin arabirimindeki bir düğmeye tıklandığında, istemci İş Akışı Hizmeti Ana Bilgisayarında bir iş akışı örneği başlatılır.
İş akışı, onay yöneticisi uygulamasına bir onay isteği gönderir.
İş akışı yöneticisi, bir onay işlemini temsil etmek için kendi tarafında bir iş akışı başlatır.
Yönetici onayı iş akışı yürütülürse sonuçlar istemciye geri gönderilir.
İstemci sonuçları görüntüler.
İstemci bir onay isteği alabilir ve isteği zaman içinde herhangi bir noktada yanıtlar.
İstemcide barındırılan bir WCF hizmeti, onay yöneticisi uygulamasından bir onay isteği alabilir.
Belge bilgileri gözden geçirilirken istemcide sunulur.
Kullanıcı belgeyi onaylayabilir veya reddedebilir.
WcF istemcisi, onay yöneticisi uygulamasına bir onay yanıtı göndermek için kullanılır.
Onay yöneticisi uygulamasının bakış açısından, onay işlemi aşağıdaki gibi çalışır:
bir istemci onay işlemi sistemine katılmayı istemektedir.
Onay yöneticisindeki bir WCF hizmeti, onay işlemi sisteminin parçası olmak için bir istek alır.
İstemci için benzersiz bir kimlik oluşturulur. Kullanıcı bilgileri bir veritabanında depolanır.
Benzersiz kimlik kullanıcıya geri gönderilir.
Onay isteği alınsın. Onay yöneticisi bir onay işlemi yürütür.
Onay yöneticisi tarafından yeni bir iş akışı başlatılarak bir onay isteği alınır.
İsteğin türüne bağlı olarak (basit, çekirdek veya karmaşık) farklı bir etkinlik yürütülür.
Bağıntılı Gönderme ve Alma etkinlikleri, onay isteğini gözden geçirmek ve yanıtı almak üzere istemciye göndermek için kullanılır.
Onay işlemi iş akışının sonucu istemciye gönderilir.
Örneği Kullanma
Veritabanını ayarlamak için
- Yönetici istrator ayrıcalıklarıyla açılan bir Visual Studio komut isteminden bu DocumentApprovalProcess klasörüne gidin ve Setup.cmd çalıştırın.
Uygulamayı ayarlamak için
Visual Studio'yu kullanarak DocumentApprovalProcess.sln çözüm dosyasını açın.
Çözümü oluşturmak için CTRL+SHIFT+B tuşlarına basın.
Çözümü çalıştırmak için, Çözüm Gezgini ApprovalManager projesine sağ tıklayıp sağ tıklama menüsünden Hata Ayıkla-Yeni> örneği başlat'a tıklayarak Approval Manager Uygulamasını başlatın.
Yöneticinin çıkışının hazır olduğunu size bildirmesini bekleyin.
Tek onay senaryosunu çalıştırmak için
Yönetici izniyle bir komut istemi açın.
Çözümü içeren dizine gidin.
ApprovalClient\Bin\Debug klasörüne gidin ve ApprovalClient.exe iki örneğini yürütür.
Bul'a tıklayın, abone ol düğmesi etkinleştirilene kadar bekleyin.
Herhangi bir kullanıcı adı yazın ve abone ol'a tıklayın. Bir istemci için ve diğer türünü
UserType2
kullanınUserType1
.İstemcide
UserType1
, açılan menüden tek onay türünü seçin ve bir belge adı ve içeriği yazın. Onay İste'ye tıklayın.İstemcide
UserType2
, onay bekleyen bir belge görüntülenir. Seçin ve onayla veya reddet'e basın. Sonuçlar istemcideUserType1
gösterilmelidir.
Çekirdek onay senaryosunu çalıştırmak için
Yönetici izniyle bir komut istemi açın.
Çözümü içeren dizine gidin.
ApprovalClient\Bin\Debug klasörüne gidin ve üç ApprovalClient.exe örneği yürütür.
Bul'a tıklayın, abone ol düğmesi etkinleştirilene kadar bekleyin.
Herhangi bir kullanıcı adı yazın ve abone ol'a tıklayın. Bir istemci kullanımı ve diğer iki tür
UserType2
içinUserType1
.İstemcide
UserType1
, açılan menüden çekirdek onay türünü seçin ve bir belge adı ve içeriği yazın. Onay İste'ye tıklayın. Bu, ikiUserType2
istemcinin belgeyi onaylamasını veya reddetmesini ister. Her iki istemcinin deUserType2
yanıt vermesi gerekir ancak belgenin onaylanması için yalnızca bir istemcinin onaylaması gerekir.İstemcilerde
UserType2
onay bekleyen bir belge görüntülenir. Seçin ve onayla veya reddet'e basın. Sonuçlar istemcideUserType1
gösterilmelidir.
Karmaşık onay senaryosunu çalıştırmak için
Yönetici izniyle bir komut istemi açın.
Çözümü içeren dizine gidin.
ApprovalClient\Bin\Debug klasörüne gidin ve dört ApprovalClient.exe örneği yürütür.
Bul'a tıklayın, abone ol düğmesi etkinleştirilene kadar bekleyin.
Herhangi bir kullanıcı adı yazın ve abone ol'a tıklayın. Bir istemci kullanımı için
UserType1
, ikisinde türüUserType2
ve son kullanımdaUserType3
kullanır.İstemcide
UserType1
, açılan menüden tek onay türünü seçin ve bir belge adı ve içeriği yazın. Onay İste'ye tıklayın.İstemcilerde
UserType2
onay bekleyen bir belge görüntülenir. Seçin ve onayla'ya basın; belge istemciyeUserType3
geçirilir.Belge ilk
UserType2
çekirdek tarafından onaylanırsa, belge istemciyeUserType3
geçirilir.belgeyi istemciden onaylayın veya reddedin
UserType3
. Sonuçlar istemcideUserType1
gösterilmelidir.
Temizlemek için
- Visual Studio komut isteminden DocumentApprovalProcess klasörüne gidin ve Cleanup.cmd çalıştırın.