WCF på .NET Framework: proxyinnstillingar for HTTP GET-metadata
Konfigurer den eldre WCF-metadatahentingsvegen, inkludert HTTP-importar, skilt frå den endelege SOAP-tenesteklienten.
For WCF-metadatahenting i HTTP GET-modus på .NET Framework 4.8.1 konfigurerer du den tidlegare metadatatførespurnaden i staden for berre den endelege SOAP-klienten. Den verna GetWebRequest-kroken kan bruke ein 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;
}
}Typane kjem frå 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 skild.
Følg importar viss rot-WSDL-en lukkast, men oppslaget feilar seinare. Andre WSDL-ar og skjema kan bruke andre vertar eller protokollar.
Vel den tilsvarande utvidinga for ein annan hentemodus. WS-MetadataExchange brukar ein kanal, der opprettingskroken er GetChannelFactory; binding- og proxyinnstillingane hans blir ikkje universelt erstatta av ei HttpWebRequest-overstyring.
Ein standard applikasjonsproxy kan vere nok når alle deltakande eldre komponentar skal dele han. Underklassen er for eksplisitt metadataeigarskap innanfor denne API-familien. Genererte SOAP-kall treng framleis sin eigen runtime-transportkonfigurasjon. For ein BasicHttpBinding-klient, kontroller ProxyAddress og UseDefaultWebProxy saman.