Za preuzimanje 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 objekat; autentifikacija servera metapodataka je odvojena.

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

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

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

Povezani članci