Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W programie Windows Communication Foundation (WCF) eksportowanie metadanych to proces opisywania punktów końcowych usługi i projekcji ich w równoległą, ustandaryzowaną reprezentację, która umożliwia klientom zrozumienie sposobu korzystania z usługi. Niestandardowe metadane składają się z elementów XML, których eksporterzy metadanych dostarczony przez system nie mogą eksportować. Zazwyczaj obejmuje to niestandardowe elementy WSDL dotyczące zachowań zdefiniowanych przez użytkownika, elementy powiązań oraz asercje zasad dotyczące możliwości i wymagań powiązań i kontraktów.
W tej sekcji opisano eksportowanie niestandardowych asercji WSDL lub zasad i nie koncentruje się na samym procesie eksportowania. Aby uzyskać więcej informacji na temat używania typów, które eksportują i importować metadane niezależnie od tego, czy metadane są niestandardowe, czy skonstruowane przez system, zobacz Eksportowanie i importowanie metadanych.
Przegląd
Gdy metadane są publikowane przy użyciu System.ServiceModel.Description.ServiceMetadataBehavior, badany jest System.ServiceModel.Description.ServiceDescription, a XSD i WSDL — w tym asercje zasad — są generowane dla wszystkich kontraktów i powiązań, które WCF może obsługiwać przy użyciu atrybutów i powiązań dostarczonych przez system. Jednak atrybuty zachowania niestandardowego lub elementy powiązania wymagają obsługi, zanim będą mogły zostać prawidłowo wyeksportowane.
W tej sekcji opisano:
Jak zaimplementować i używać interfejsu System.ServiceModel.Description.IWsdlExportExtension, który udostępnia dane generowania WSDL przed opublikowaniem WSDL.
Jak zaimplementować i używać interfejsu System.ServiceModel.Description.IPolicyExportExtension, który udostępnia dane dotyczące zasad przed wyeksportowaniem asercji zasad w danych WSDL.
Aby uzyskać więcej informacji na temat importowania niestandardowych asercji WSDL i zasad, zobacz Importowanie niestandardowych metadanych dla rozszerzenia WCF.
Eksportowanie niestandardowych elementów WSDL
Zaimplementuj IWsdlExportExtension jako zachowanie operacji, zachowanie kontraktu, zachowanie punktu końcowego lub element wiązania (IOperationBehavior, IContractBehavior, IEndpointBehavior lub System.ServiceModel.Channels.BindingElement odpowiednio) i wstaw zachowania lub elementy wiązania do opisu usługi, którą próbujesz wyeksportować. (Aby uzyskać więcej informacji na temat wstawiania zachowań, zobacz Konfigurowanie i rozszerzanie środowiska uruchomieniowego przy użyciu zachowań). IWsdlExportExtension jest wywoływany dla każdego punktu końcowego, a każdy punkt końcowy eksportuje kontrakt w pierwszej kolejności, jeśli jeszcze tego nie zrobiono. Możesz uczestniczyć w każdym procesie eksportowania, w zależności od potrzeb:
Użyj elementu , WsdlContractConversionContext aby zmodyfikować wyeksportowane metadane w metodzie ExportContract .
Użyj elementu , WsdlEndpointConversionContext aby zmodyfikować wyeksportowane metadane dla punktu końcowego w metodzie ExportEndpoint .
Metoda ExportContract jest wywoływana we wszystkich IWsdlExportExtension implementacjach w instancji System.ServiceModel.Description.ContractDescription, która jest eksportowana. Metoda ExportEndpoint jest wywoływana we wszystkich implementacjach IWsdlExportExtension z użyciem eksportowanego wystąpienia System.ServiceModel.Description.ServiceEndpoint.
Aby uzyskać więcej informacji, zobacz Jak wyeksportować niestandardowy plik WSDL i przykładową niestandardową publikację WSDL.
Eksportowanie asercji zasad niestandardowych
Zaimplementuj IPolicyExportExtension na BindingElement i dodaj element powiązania do tego powiązania, aby napisać niestandardowe asercje zasad odnośnie wsparcia powiązań i możliwości kontraktów w WSDL. Element IPolicyExportExtension jest wywoływany raz, gdy eksportowany jest zaimplementowany element powiązania w powiązaniu, i przekazuje PolicyConversionContext do metody ExportPolicy. Metody w wystąpieniu PolicyConversionContext umożliwiają dodanie do asercji zasad dołączonych do powiązania WSDL w temacie komunikatu, operacji lub punktu końcowego.
Aby uzyskać więcej informacji, zobacz How to: Export Custom Policy Assertions (Instrukcje: eksportowanie asercji zasad niestandardowych).