WCF på .NET Framework: proxyinnstillinger for HTTP GET-metadata
Konfigurer den eldre WCF-metadatahentingsveien, inkludert HTTP-import, atskilt fra den endelige SOAP-tjenesteklienten.
For WCF-metadatahenting i HTTP GET-modus på .NET Framework 4.8.1 konfigurerer du den tidligere metadatareforespørselen i stedet for bare den endelige SOAP-klienten. Den beskyttede GetWebRequest-kroken kan bruke en separat styrt rute:
class RoutedMetadataClient : MetadataExchangeClient
{
private readonly IWebProxy route;
public RoutedMetadataClient(IWebProxy route)
{
this.route = route;
}
protected override HttpWebRequest GetWebRequest(
Uri location, string dialect, string identifier)
{
HttpWebRequest request =
base.GetWebRequest(location, dialect, identifier);
request.Proxy = route;
return request;
}
}Typene kommer fra System.Net og System.ServiceModel.Description. Bygg denne klienten med den tiltenkte WebProxy og bruk HttpGet-modus for WSDL-URL-en. Legg proxykontoen på det objektet; godkjenning mot metadataserveren er separat.
Følg importer hvis rot-WSDL-en lykkes, men oppslaget feiler senere. Andre WSDL-er og skjemaer kan bruke andre verter eller protokoller.
Velg den tilsvarende utvidelsen for en annen hentemodus. WS-MetadataExchange bruker en kanal, hvis opprettelseskrok er GetChannelFactory; dens binding- og proxyinnstillinger erstattes ikke universelt av en HttpWebRequest-overstyring.
En standard applikasjonsproxy kan være nok når alle deltakende eldre komponenter skal dele den. Underklassen er for eksplisitt metadataeierskap innenfor denne API-familien. Genererte SOAP-kall trenger fortsatt sin egen runtime-transportkonfigurasjon. For en BasicHttpBinding-klient, kontroller ProxyAddress og UseDefaultWebProxy sammen.