Dela via


Publicera och hämta metadata via en anpassad bindning

System.ServiceModel.Description.ServiceMetadataBehavior Ger stöd för att lägga till metadataslutpunkt i en tjänst. Dessa metadataslutpunkter kan svara på HTTP GET-begäranden på en URL som har en ?wsdl frågesträng och till GET-begäranden för WS-Transfer enligt definitionen i MEX-specifikationen (WS-MetadataExchange). MEX-slutpunkter implementerar System.ServiceModel.Description.IMetadataExchange kontraktet.

Publicera metadata över en anpassad bindning

HTTP GET-metadataslutpunkterna och HTTPS GET-metadataslutpunkterna aktiveras genom att ange ServiceMetadataBehavior.HttpGetEnabled egenskaperna eller ServiceMetadataBehavior.HttpsGetEnabled till true. Bindningarna för dessa slutpunkter kan inte konfigureras.

Kontraktet IMetadataExchange kan dock användas med valfri slutpunkt, inklusive de som använder anpassade bindningar, eftersom IMetadataExchange slutpunkter är identiska med alla andra WCF-tjänstslutpunkter (Windows Communication Foundation). Om du vet hur du ändrar konfigurationen av en bindning som tillhandahålls av systemet, eller om du vet hur du konfigurerar en System.ServiceModel.Channels.CustomBinding, kan du konfigurera en bindning för användning med en IMetadataExchange slutpunkt.

Hämtar metadata via en anpassad bindning

Metadata kan hämtas från HTTP Get- och HTTPS Get metadata-slutpunkter med hjälp av vanliga HTTP- eller HTTPS GET-begäranden.

Om du vill hämta metadata från en MEX-metadataslutpunkt kan du vanligtvis använda en av de mex-standardbindningar som stöds av WCF. Mer information finns i System.ServiceModel.Description.MetadataExchangeBindings. Typen System.ServiceModel.Description.MetadataExchangeClient och verktyget Svcutil.exe väljer automatiskt en av dessa standard-MEX-bindningar baserat på adressen för den angivna metadataslutpunkten.

Om en MEX-metadataslutpunkt använder en annan bindning än en av mex-standardbindningarna kan du konfigurera bindningen MetadataExchangeClient som används med hjälp av koden eller genom att tillhandahålla en IMetadataExchange klientslutpunktskonfiguration. Verktyget Svcutil.exe läser automatiskt in från konfigurationsfilen en IMetadataExchange klientslutpunktskonfiguration som har samma namn som URI-schemat för metadataslutpunktsadressen.

Säkerhet

När du publicerar metadata över en anpassad bindning ska du se till att bindningen ger det säkerhetsstöd som dina metadata kräver. För att till exempel förhindra att information avslöjas och säkerställa att klienten har rätt att hämta metadata kan du göra dina metadata och ditt program säkrare genom att konfigurera slutpunkten IMetadataExchange så att den kräver autentisering och kryptering. Exempelslutpunkten för anpassade säkra metadata visar det här scenariot.

Se även