Bagikan melalui


Mengekspor Metadata Kustom untuk Ekstensi WCF

Dalam WCF, ekspor metadata adalah proses mendeskripsikan titik akhir layanan dan memproyeksikannya menjadi representasi standar dan paralel yang dapat digunakan klien untuk memahami cara menggunakan layanan. Metadata kustom terdiri dari elemen XML yang tidak dapat diekspor oleh eksportir metadata yang disediakan sistem. Biasanya, ini termasuk elemen WSDL kustom untuk perilaku yang ditentukan pengguna dan elemen pengikatan dan pernyataan kebijakan tentang kemampuan dan persyaratan pengikatan dan kontrak.

Bagian ini menjelaskan pengeksporan WSDL kustom atau pernyataan kebijakan, dan tidak fokus pada proses ekspor itu sendiri. Untuk informasi selengkapnya tentang cara menggunakan jenis yang mengekspor dan mengimpor metadata terlepas dari apakah metadata tersebut kustom atau dibangun sistem, lihat Mengekspor dan Mengimpor Metadata.

Gambaran Umum

Saat metadata diterbitkan menggunakan System.ServiceModel.Description.ServiceMetadataBehavior, System.ServiceModel.Description.ServiceDescription diperiksa dan XSD serta WSDL -- termasuk pernyataan kebijakan -- dibuat untuk semua kontrak dan pengikatan yang dapat didukung WCF menggunakan atribut dan pengikatan yang disediakan sistem. Namun, atribut perilaku kustom atau elemen pengikatan memerlukan dukungan sebelum dapat diekspor dengan benar.

Bagian ini menjelaskan:

  1. Cara mengimplementasikan dan menggunakan antarmuka System.ServiceModel.Description.IWsdlExportExtension, yang mengekspos data generasi WSDL kepada Anda sebelum menerbitkan WSDL.

  2. Cara menerapkan dan menggunakan antarmuka System.ServiceModel.Description.IPolicyExportExtension, yang mengekspos data kebijakan kepada Anda sebelum mengekspor pernyataan kebijakan dalam data WSDL.

Untuk informasi selengkapnya tentang mengimpor WSDL kustom dan pernyataan kebijakan, lihat Mengimpor Metadata Kustom untuk Ekstensi WCF.

Mengekspor Elemen WSDL Kustom

Terapkan IWsdlExportExtension pada perilaku operasi, perilaku kontrak, perilaku titik akhir, atau elemen pengikatan (masing-masing IOperationBehavior, IContractBehavior, IEndpointBehavior, atau System.ServiceModel.Channels.BindingElement) dan masukkan perilaku atau elemen pengikatan ke dalam deskripsi layanan yang Anda coba ekspor. Untuk informasi selengkapnya tentang menyisipkan perilaku, lihat Mengonfigurasi dan Memperluas Runtime Bahasa Umum dengan Perilaku. IWsdlExportExtension dipanggil untuk setiap titik akhir dan setiap titik akhir mengekspor kontrak terlebih dahulu jika belum diekspor. Anda dapat berpartisipasi dalam salah satu proses ekspor, tergantung pada kebutuhan Anda:

Metode ExportContract dipanggil pada semua implementasi IWsdlExportExtension dalam instans System.ServiceModel.Description.ContractDescription yang sedang diekspor. Metode ExportEndpoint dipanggil pada semua implementasi IWsdlExportExtension dengan instans System.ServiceModel.Description.ServiceEndpoint yang sedang diekspor.

Untuk informasi selengkapnya, lihat Cara: Mengekspor WSDL Kustom dan sampel Publikasi WSDL Kustom.

Mengekspor Pernyataan Azure Policy Kustom

Terapkan IPolicyExportExtension pada BindingElement dan tambahkan elemen pengikatan ke pengikatan untuk menulis pernyataan kebijakan kustom tentang dukungan pengikatan dan kemampuan kontrak ke dalam WSDL. IPolicyExportExtension dipanggil sekali saat mengekspor elemen pengikatan yang diimplementasikan dalam pengikatan dan meneruskan PolicyConversionContext ke metode ExportPolicy. Anda dapat menggunakan metode ini pada instans PolicyConversionContext untuk menambahkan ke pernyataan kebijakan yang dilampirkan ke pengikatan WSDL pada subjek pesan, operasi, atau titik akhir.

Untuk informasi selengkapnya, lihat Cara: Mengekspor Pernyataan Azure Policy Kustom.

Lihat juga