Aracılığıyla paylaş


İlk İş Akışı Hizmet Geliştirme Anlaşmasını Yapma

.NET Framework 4.5'den başlayarak, Windows Workflow Foundation (WF), web hizmetleri ve iş akışları arasında sözleşme öncelikli iş akışı geliştirme biçiminde daha iyi tümleştirme sağlar. Sözleşme öncelikli iş akışı geliştirme aracı, önce sözleşmeyi kodda tasarlamanıza olanak tanır. Araç daha sonra araç kutusunda sözleşmedeki işlemler için otomatik olarak bir etkinlik şablonu oluşturur. Bu konu başlığında, bir iş akışı hizmetindeki etkinliklerin ve özelliklerin bir hizmet sözleşmesinin öznitelikleriyle nasıl eşlenip eşlenemeye ilişkin bir genel bakış sağlanır. Sözleşme öncelikli iş akışı hizmeti oluşturmanın adım adım örneği için bkz . Nasıl yapılır: Mevcut bir hizmet sözleşmesini kullanan bir iş akışı hizmeti oluşturma.

Bu konuda,

Hizmet sözleşmesi özniteliklerini iş akışı öznitelikleriyle eşleme

Aşağıdaki bölümlerde yer alan tablolar, farklı WCF özniteliklerini ve özelliklerini ve sözleşme öncelikli iş akışındaki mesajlaşma etkinlikleri ve özellikleriyle nasıl eşlendiklerini belirtir.

Hizmet Sözleşmesi Öznitelikleri

Özellik Adı Desteklenir Açıklama WF Doğrulaması
CallbackContract Hayır Sözleşme çift yönlü bir sözleşme olduğunda geri çağırma sözleşmesinin türünü alır veya ayarlar. (Yok)
Yapılandırma Adı Hayır Bir uygulama yapılandırma dosyasında hizmeti bulmak için kullanılan adı alır veya ayarlar. (Yok)
KorumaSeviyesiVar Evet Üyenin atanmış bir koruma düzeyi olup olmadığını gösteren bir değer alır. Receive.ProtectionLevel null olmamalıdır.
Veri Akışı Adı Evet Web Hizmetleri Açıklama Dili'nde (WSDL) portType< öğesinin >adını alır veya ayarlar. Receive.ServiceContractName.LocalName eşleşmelidir.
Ad Alanı Evet Web Hizmetleri Açıklama Dili'nde (WSDL) portType< öğesinin >ad alanını alır veya ayarlar. Receive.ServiceContractName.NameSpace eşleşmelidir
Koruma Seviyesi Evet Sözleşme bağlamasının ProtectionLevel özelliğinin değerini desteklemesi gerekip gerekmediğini belirtir. Receive.ProtectionLevel eşleşmelidir.
OturumModu Hayır Oturumlara izin verilip verilmeyeceğini veya gerekli olup olmadığını alır veya ayarlar. (Yok)
TypeId Hayır Türetilmiş bir sınıfta uygulandığında, bu Öznitelik için benzersiz bir tanımlayıcı alır. (Öznitelikten Devralındı.) (Yok)

Gövde alt bölümünü buraya ekleyin.

İşlem Sözleşmesi Öznitelikleri

Özellik Adı Desteklenir Açıklama WF Doğrulaması
Eylem Evet İstek iletisinin WS-Adresleme eylemini alır veya ayarlar. Receive.Action eşleşmelidir.
AsyncPattern Hayır Bir işlemin bir hizmet sözleşmesinde Begin<methodName ve End>methodName<> yöntem çifti kullanılarak zaman uyumsuz olarak uygulandığını gösterir. (Yok)
KorumaSeviyesiVar Evet Bu işlem için iletilerin şifrelenmesinin mi, imzalanması mı yoksa her ikisinin birden mi olması gerektiğini gösteren bir değer alır. Receive.ProtectionLevel null olmamalıdır.
Başlatılıyor Hayır Yöntemin sunucuda oturum başlatabilecek bir işlem uygulayıp uygulamadığını gösteren bir değer alır veya ayarlar (böyle bir oturum varsa). (Yok)
IsOneWay Evet İşlemin yanıt iletisi döndürdüğünü belirten bir değer alır veya ayarlar. (Bu Alma için SendReply Yok VEYA bu Gönderme için ReceiveReply yok).
Sonlandırılıyor Hayır Hizmet işleminin, varsa yanıt iletisi gönderildikten sonra sunucunun oturumu kapatmasına neden olup olmadığını belirten bir değer alır veya ayarlar. (Yok)
Veri Akışı Adı Evet İşlemin adını alır veya ayarlar. Receive.OperationName eşleşmelidir.
Koruma Seviyesi Evet bir işlemin iletilerinin şifrelenmesini, imzalanması mı yoksa her ikisini birden mi içermesi gerektiğini belirten bir değer alır veya ayarlar. Receive.ProtectionLevel eşleşmelidir.
Cevap Verme Eylemi Evet İşlemin yanıt iletisi için SOAP eyleminin değerini alır veya ayarlar. SendReply.Action eşleşmelidir.
TypeId Hayır Türetilmiş bir sınıfta uygulandığında, bu Öznitelik için benzersiz bir tanımlayıcı alır. (Öznitelikten Devralındı.) (Yok)

İleti Sözleşmesi Öznitelikleri

Özellik Adı Desteklenir Açıklama WF Doğrulaması
KorumaSeviyesiVar Evet İletinin koruma düzeyi olup olmadığını gösteren bir değer alır. Doğrulama yok (Receive.Content ve SendReply.Content ileti sözleşmesi türüyle eşleşmelidir).
Eşlenen Evet İleti gövdesinde sarmalayıcı öğesi olup olmadığını belirten bir değer alır veya ayarlar. Doğrulama yok (Receive.Content ve Sendreply.Content ileti sözleşmesi türüyle eşleşmelidir).
Koruma Seviyesi Hayır İletinin şifrelenmesini, imzalanması mı yoksa her ikisini birden mi içermesi gerektiğini belirten bir değer alır veya ayarlar. (Yok)
TypeId Evet Türetilmiş bir sınıfta uygulandığında, bu Öznitelik için benzersiz bir tanımlayıcı alır. (Öznitelikten Devralındı.) Doğrulama yok (Receive.Content ve SendReply.Content ileti sözleşmesi türüyle eşleşmelidir).
SarmalayıcıAdı Evet İleti gövdesinin sarmalayıcı öğesinin adını alır veya ayarlar. Doğrulama yok (Receive.Content ve SendReply.Content ileti sözleşmesi türüyle eşleşmelidir).
WrapperNamespace Hayır İleti gövdesi sarmalayıcı öğesinin ad alanını alır veya ayarlar. (Yok)

Veri Sözleşmesi Öznitelikleri

Özellik Adı Desteklenir Açıklama WF Doğrulaması
IsReference Hayır Nesne başvuru verilerinin korunup korunmayacağını belirten bir değer alır veya ayarlar. (Yok)
Veri Akışı Adı Evet Türü için veri sözleşmesinin adını alır veya ayarlar. Doğrulama yok (Receive.Content ve SendReply.Content ileti sözleşmesi türüyle eşleşmelidir).
Ad Alanı Evet Türü için veri sözleşmesinin ad alanını alır veya ayarlar. Doğrulama yok (Receive.Content ve SendReply.Content ileti sözleşmesi türüyle eşleşmelidir).
TypeId Hayır Türetilmiş bir sınıfta uygulandığında, bu Öznitelik için benzersiz bir tanımlayıcı alır. (Öznitelikten Devralındı.) (Yok)

Hata Sözleşmesi Öznitelikleri

Özellik Adı Desteklenir Açıklama WF Doğrulaması
Eylem Evet İşlem sözleşmesinin bir parçası olarak belirtilen SOAP hata iletisinin eylemini alır veya ayarlar. SendReply.Action eşleşmelidir.
Detay Türü Evet Hata bilgilerini içeren serileştirilebilir bir nesnenin türünü alır. SendReply.Content türüyle eşleşmelidir
KorumaSeviyesiVar Hayır SOAP hata iletisinin atanmış bir koruma düzeyi olup olmadığını gösteren bir değer alır. (Yok)
Veri Akışı Adı Hayır Web Hizmetleri Açıklama Dili'nde (WSDL) hata iletisinin adını alır veya ayarlar. (Yok)
Ad Alanı Hayır SOAP hatasının ad alanını alır veya ayarlar. (Yok)
Koruma Seviyesi Hayır SOAP hatasının bağlamadan gerektirdiği koruma düzeyini belirtir. (Yok)
TypeId Hayır Türetilmiş bir sınıfta uygulandığında, bu Öznitelik için benzersiz bir tanımlayıcı alır. (Öznitelikten Devralındı.) (Yok)

Ek Destek ve Uygulama Bilgileri

Desteklenmeyen hizmet sözleşmesi özellikleri

  • Sözleşmelerde TPL (Görev Paralel Kitaplığı) Görevlerinin kullanımı desteklenmez.

  • Hizmet Sözleşmelerinde devralma desteklenmez.

Yapılandırılmış mesajlaşma etkinlikleri oluşturma

sözleşme öncelikli iş akışı hizmetleri kullanılırken önceden yapılandırılmış ileti etkinliklerinin oluşturulmasını desteklemek için ve Receive etkinliklerine iki genel statik yöntem eklenirSendReply.

Bu yöntemler tarafından oluşturulan etkinlik sözleşme doğrulamasını geçmelidir ve bu nedenle bu yöntemler ve Receiveiçin SendReply doğrulama mantığının bir parçası olarak dahili olarak kullanılır. OperationName, ServiceContractName, Action, , SerializerOption, ProtectionLevelve KnownTypes tüm içe aktarılan sözleşmeyle eşleşecek şekilde önceden yapılandırılmıştır. İş akışı tasarımcısındaki etkinliklerin içerik özellikleri sayfasında İleti veya Parametreler bölümleri de sözleşmeyle eşleşecek şekilde önceden yapılandırılmıştır.

WCF hata sözleşmeleri, içinde SendReplyFaultsgörünen hataların her biri için ayrı bir yapılandırılmış FaultDescriptionCollection etkinlik kümesi döndürülerek de işlenir.

Bugün WF hizmetleri tarafından desteklenmeyen OperationDescription diğer bölümleri (örneğin WebGet/WebInvoke davranışları veya özel işlem davranışları) için API, oluşturma ve yapılandırma kapsamında bu değerleri yoksayar. Hiçbir özel durum oluşturulmayacak.