Meta Verileri Dışarı ve İçeri Aktarma
Windows Communication Foundation'da (WCF) meta verileri dışarı aktarmak, hizmet uç noktalarını açıklama ve istemcilerin hizmetin nasıl kullanılacağını anlamak için kullanabileceği paralel, standartlaştırılmış bir gösterime yansıtma işlemidir. Hizmet meta verilerini içeri aktarmak, hizmet meta verilerinden örnekler veya parçalar oluşturma ServiceEndpoint işlemidir.
Meta Verileri Dışarı Aktarma
Örneklerden System.ServiceModel.Description.ServiceEndpoint meta verileri dışarı aktarmak için soyut sınıfın MetadataExporter bir uygulamasını kullanın. türü WsdlExporter , WCF ile birlikte gelen soyut sınıfın MetadataExporter uygulamasıdır.
Türü, System.ServiceModel.Description.WsdlExporter bir MetadataSet örnekte kapsüllenmiş ekli ilke ifadeleriyle Web Hizmetleri Açıklama Dili (WSDL) meta verileri oluşturur. Nesneler ve ServiceEndpoint nesneler için meta verileri yinelemeli olarak dışarı aktarmak için ContractDescription bir System.ServiceModel.Description.WsdlExporter örneği kullanabilirsiniz. Ayrıca bir nesne koleksiyonunu ServiceEndpoint dışarı aktarabilir ve bunları belirli bir hizmet adıyla ilişkilendirebilirsiniz.
Not
WsdlExporter
yöntemini kullanarak ContractDescription.GetContract
oluşturulan veya örneğin bir parçası ServiceDescription
olarak oluşturulan örnek ContractDescription
gibi ortak dil çalışma zamanı (CLR) türü bilgilerini içeren örneklerden ContractDescription
meta verileri dışarı aktarmak için ServiceHost
kullanabilirsiniz. hizmet meta verilerinden ContractDescription
içeri aktarılan veya tür bilgileri olmadan oluşturduğunuzda örneklerden meta verileri dışarı aktarmak için öğesini WsdlExporter
kullanamazsınız.
Meta Verileri İçeri Aktarma
WSDL Belgelerini İçeri Aktarma
WCF'de hizmet meta verilerini içeri aktarmak için soyut sınıfın MetadataImporter bir uygulamasını kullanın. türü System.ServiceModel.Description.WsdlImporter , WCF ile birlikte gelen soyut sınıfın MetadataImporter uygulamasıdır. Türü, WsdlImporter bir MetadataSet nesnede paketlenmiş ekli ilkeler içeren WSDL meta verilerini içeri aktarır.
türü, WsdlImporter meta verilerin nasıl içeri aktarılacağını denetlemenizi sağlar. Tüm uç noktaları, tüm bağlamaları veya tüm sözleşmeleri içeri aktarabilirsiniz. Belirli bir WSDL hizmeti, bağlama veya bağlantı noktası türüyle ilişkili tüm uç noktaları içeri aktarabilirsiniz. Ayrıca, belirli bir WSDL bağlantı noktası için uç noktayı, belirli bir WSDL bağlamasının bağlamasını veya belirli bir WSDL bağlantı noktası türü için sözleşmeyi içeri aktarabilirsiniz.
ayrıca WsdlImporter , içeri aktarılması gerekmeyen bir dizi sözleşme belirtmenize olanak tanıyan bir özelliği de kullanıma sunar KnownContracts . , WsdlImporter meta verilerden aynı nitelenmiş ada sahip bir sözleşmeyi içeri aktarmak yerine özelliğindeki sözleşmeleri KnownContracts kullanır.
İlkeleri İçeri Aktarma
türü, WsdlImporter ileti, işlem ve uç nokta ilkesi konularına eklenen ilke ifadelerini toplar ve ardından ilke ifadelerini içeri aktarmak için koleksiyondaki PolicyImportExtensions uygulamaları kullanırIPolicyImportExtension.
İlke içeri aktarma mantığı, aynı WSDL belgesindeki ilke ifadelerine yönelik ilke başvurularını otomatik olarak işler ve bir wsu:Id
veya xml:id
özniteliğiyle tanımlanır. İlke içeri aktarma mantığı, bir ilke ifadesinin boyutunu 4096 düğümle sınırlayarak uygulamaları döngüsel ilke başvurularına karşı korur; burada bir düğüm aşağıdaki öğelerden biridir: wsp:Policy
, , wsp:All
wsp:ExactlyOne
, , wsp:policyReference
.
İlke içeri aktarma mantığı, ilke ifadelerini de otomatik olarak normalleştirir. İç içe ilke ifadeleri ve wsp:Optional
özniteliği normalleştirilmemiştir. Yapılan normalleştirme işleminin miktarı, her adımın bir ilke onayı veya bir öğenin alt öğesi olduğu 4096 adımla wsp:ExactlyOne
sınırlıdır.
Türü, WsdlImporter farklı WSDL ilke konularına eklenen en fazla 32 ilke alternatifi bileşimini dener. Hiçbir birleşim temiz bir şekilde içeri aktarılmıyorsa, kısmi bir özel bağlama oluşturmak için ilk birleşim kullanılır.
Hata İşleme
MetadataExporter Hem hem de MetadataImporter türleri, dışarı ve içeri aktarma işlemleri sırasında karşılaşılan ve araçlar uygulanırken kullanılabilen hata ve uyarı iletilerinin bir koleksiyonunu içerebilen bir Errors
özelliği kullanıma sunar.
türü WsdlImporter genellikle içeri aktarma işlemi sırasında yakalanan bir özel durum için bir özel durum oluşturur ve özelliğine Errors
karşılık gelen bir hata ekler. ImportAllContractsAncak , ImportAllBindings, ImportAllEndpointsve ImportEndpoints yöntemleri bu özel durumları oluşturmaz, bu nedenle bu yöntemleri çağırırken herhangi bir sorun oluşup oluşmadığını belirlemek için özelliğini denetlemeniz Errors
gerekir.
türü, WsdlExporter dışarı aktarma işlemi sırasında yakalanan özel durumları yeniden oluşturur. Bu özel durumlar özelliğinde Errors
hata olarak yakalanmaz. WsdlExporter Bir özel durum oluşturduktan sonra hatalı durumdadır ve yeniden kullanılamaz. , WsdlExporter bir işlem joker karakter eylemleri kullandığından ve yinelenen bağlama adlarıyla Errors
karşılaşıldığında dışarı aktarılamadığında özelliğine uyarılar ekler.
Bu Bölümde
Nasıl yapılır: Hizmet Uç Noktalarına Meta Verileri İçe Aktarma
İndirilen meta verilerin açıklama nesnelerine nasıl aktarılacağını açıklar.
Nasıl yapılır: Hizmet Uç Noktalarından Meta Verileri Dışarı Aktarma
Açıklama nesnelerinin meta veriler halinde nasıl dışarı aktarıldığı açıklanır.
ServiceDescription ve WSDL Başvurusu
Açıklama nesneleri ile WSDL arasındaki eşlemeyi açıklar.
Nasıl yapılır: Meta Verileri Derlenmiş Hizmet Kodundan Dışarı Aktarmak için Svcutil.exe Kullanma
Derlenmiş derlemelerdeki hizmetler, sözleşmeler ve veri türleri için meta verileri dışarı aktarmak için Svcutil.exe kullanımını açıklar.
Veri Sözleşmesi Şema Başvurusu
XML serileştirme için ortak dil çalışma zamanı (CLR) türlerini açıklamak için tarafından DataContractSerializer kullanılan XML Şemasının (XSD) alt kümesini açıklar.