Publikowanie i pobieranie metadanych za pośrednictwem powiązania niestandardowego
Zapewnia obsługę dodawania System.ServiceModel.Description.ServiceMetadataBehavior punktu końcowego metadanych do usługi. Te punkty końcowe metadanych mogą odpowiadać na żądania HTTP GET pod adresem URL zawierającym ?wsdl
ciąg zapytania i żądania GET WS-Transfer zgodnie ze specyfikacją WS-MetadataExchange (MEX). Punkty końcowe MEX implementują System.ServiceModel.Description.IMetadataExchange kontrakt.
Publikowanie metadanych za pośrednictwem powiązania niestandardowego
Punkty końcowe metadanych HTTP GET i punkty końcowe metadanych HTTPS GET są włączone przez ustawienie ServiceMetadataBehavior.HttpGetEnabled właściwości lub ServiceMetadataBehavior.HttpsGetEnabled na true
wartość . Nie można skonfigurować powiązań dla tych punktów końcowych.
Jednak IMetadataExchange kontrakt może być używany z dowolnym punktem końcowym, w tym z tymi, które używają powiązań niestandardowych, ponieważ IMetadataExchange punkty końcowe są identyczne z dowolnym innym punktem końcowym usługi Windows Communication Foundation (WCF). Jeśli wiesz, jak zmodyfikować konfigurację powiązania dostarczonego przez system lub wiesz, jak skonfigurować System.ServiceModel.Channels.CustomBindingelement , możesz skonfigurować powiązanie do użycia z IMetadataExchange punktem końcowym.
Pobieranie metadanych za pośrednictwem powiązania niestandardowego
Metadane można pobrać z żądań HTTP Get i HTTPS Get metadanych przy użyciu standardowych żądań HTTP lub HTTPS GET.
Aby pobrać metadane z punktu końcowego metadanych MEX, zazwyczaj można użyć jednego ze standardowych powiązań MEX obsługiwanych przez program WCF. Aby uzyskać więcej informacji, zobacz System.ServiceModel.Description.MetadataExchangeBindings. Typ System.ServiceModel.Description.MetadataExchangeClient i narzędzie Svcutil.exe automatycznie wybierają jedno z tych standardowych powiązań MEX na podstawie adresu określonego punktu końcowego metadanych.
Jeśli punkt końcowy metadanych MEX używa innego powiązania niż jedno ze standardowych powiązań MEX, można skonfigurować powiązanie używane za pomocą MetadataExchangeClient kodu lub podając konfigurację punktu końcowego IMetadataExchange klienta. Narzędzie Svcutil.exe automatycznie ładuje z pliku konfiguracji konfigurację IMetadataExchange punktu końcowego klienta o takiej samej nazwie jak schemat identyfikatora URI dla adresu punktu końcowego metadanych.
Zabezpieczenia
Podczas publikowania metadanych za pośrednictwem powiązania niestandardowego upewnij się, że powiązanie zapewnia obsługę zabezpieczeń wymaganą przez metadane. Aby na przykład zapobiec ujawnieniu informacji i upewnić się, że klient ma prawo do uzyskania metadanych, możesz zwiększyć bezpieczeństwo metadanych i aplikacji, konfigurując IMetadataExchange punkt końcowy w celu wymagania uwierzytelniania i szyfrowania. Przykładowy punkt końcowy bezpiecznych metadanych niestandardowych demonstruje ten scenariusz.