HTTP GET moduan .NET Framework 4.8.1-en WCF metadatuak lortzeko, konfigura ezazu hasierako metadatu eskaera, eta ez soilik azken SOAP bezeroa. Bere GetWebRequest kako babestuak modu independentean kudeatutako ibilbidea aplika dezake:

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

Motak System.Net eta System.ServiceModel.Description-ekoak dira. Eraiki bezero hau aurreikusitako WebProxy-rekin eta erabili HttpGet modua WSDL URL-rako. Jarri proxy kontua objektu horretan; metadatu zerbitzariaren autentifikazioa bereizia da.

Jarraitu inportazioei erro WSDL-a ondo badoa baina ebazpena geroago huts egiten badu. Beste WSDL eta eskema batzuek ostalari edo protokolo ezberdinak erabil ditzakete.

Aukeratu dagokion luzapena beste lortze modu baterako. WS-MetadataExchange-k kanal bat erabiltzen du, zeinen sorrera-kakoa GetChannelFactory den; haren binding eta proxy ezarpenak ez dira unibertsalki ordezten HttpWebRequest gainidaztearekin.

Aplikazioaren proxy lehenetsia nahikoa izan daiteke parte hartzen duten osagai zahar guztiek partekatu behar dutenean. Azpiklasea API familia honen barruan metadatuen jabetza espliziturako da. Sortutako SOAP deiak oraindik beren runtime garraio konfigurazioa behar dute. BasicHttpBinding bezero batentzat, egiaztatu ProxyAddress eta UseDefaultWebProxy elkarrekin.

Erlazionatutako artikuluak