Za dohvaćanje WCF metapodataka u načinu HTTP GET na .NET Framework 4.8.1 konfigurirajte raniji zahtjev za metapodatke, a ne samo konačni SOAP klijent. Njegova zaštićena GetWebRequest kuka može primijeniti odvojeno vođenu rutu:

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;
    }
}

Tipovi dolaze iz System.Net i System.ServiceModel.Description. Konstruirajte ovaj klijent s predviđenim WebProxyjem i koristite način HttpGet za WSDL URL. Stavite račun proxyja na taj objekt; autentifikacija poslužitelja metapodataka je odvojena.

Slijedite uvoze ako korijenski WSDL uspije, ali razrješavanje kasnije ne uspije. Drugi WSDL-ovi i sheme mogu koristiti različite hostove ili protokole.

Odaberite odgovarajuće proširenje za drugi način dohvaćanja. WS-MetadataExchange koristi kanal, čija je kuka za stvaranje GetChannelFactory; njegove postavke povezivanja i proxyja ne zamjenjuju se univerzalno nadjačavanjem HttpWebRequesta.

Zadani proxy aplikacije može biti dovoljan kada ga sve uključene naslijeđene komponente trebaju dijeliti. Podklasa je za eksplicitno vlasništvo nad metapodacima unutar ove API obitelji. Generirani SOAP pozivi i dalje trebaju vlastitu runtime konfiguraciju prijenosa. Za BasicHttpBinding klijenta provjerite ProxyAddress i UseDefaultWebProxy zajedno.

Povezani članci