Por WCF-metadata alporto en HTTP GET-reĝimo sur .NET Framework 4.8.1, agordu la pli fruan metadatan peton anstataŭ nur la finan SOAP-klienton. Ĝia protektita GetWebRequest hoko povas apliki aparte administritan itineron:

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

La tipoj venas de System.Net kaj System.ServiceModel.Description. Konstruu ĉi tiun klienton kun la celata WebProxy kaj uzu la HttpGet-reĝimon por la WSDL-URL. Metu la proksean konton sur tiun objekton; la aŭtentikigo de la metadatservilo estas aparta.

Sekvu importojn se la radika WSDL sukcesas sed la solvo malsukcesas poste. Aliaj WSDL-oj kaj skemoj povas uzi malsamajn gastigantojn aŭ protokolojn.

Elektu la respondan etendaĵon por alia alporta reĝimo. WS-MetadataExchange uzas kanalon, kies krea hoko estas GetChannelFactory; ĝiaj ligaj kaj prokseaj agordoj ne estas universale anstataŭigitaj per HttpWebRequest-anstataŭigo.

Defaŭlta aplikaĵa prokseo povas sufiĉi kiam ĉiuj partoprenantaj malnovaj komponantoj devus kunhavigi ĝin. La subklaso estas por eksplicita metadatenposedo ene de ĉi tiu API-familio. Generitaj SOAP-alvokoj ankoraŭ bezonas sian propran rultempan transportan agordon. Por BasicHttpBinding-kliento, kontrolu ProxyAddress kaj UseDefaultWebProxy kune.

Rilataj artikoloj