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.

Relaterte artiklar