WCF-i metaandmete hankimiseks HTTP GET-i režiimis .NET Framework 4.8.1-s seadistage varasem metaandmete päring, mitte ainult lõplik SOAP-klient. Selle kaitstud GetWebRequest konks saab rakendada eraldi hallatava marsruudi:

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

Tüübid pärinevad nimeruumidest System.Net ja System.ServiceModel.Description. Looge see klient soovitud WebProxyga ja kasutage WSDL-i URL-i jaoks režiimi HttpGet. Pange puhverserveri konto sellele objektile; metaandmete serveri autentimine on eraldi.

Järgige importe, kui juur-WSDL õnnestub, kuid lahendamine hiljem ebaõnnestub. Teised WSDL-id ja skeemid võivad kasutada erinevaid hoste või protokolle.

Valige teise hankimisrežiimi jaoks vastav laiend. WS-MetadataExchange kasutab kanalit, mille loomise konks on GetChannelFactory; selle sidumis- ja puhverserveri sätteid ei asendata üldiselt HttpWebRequesti ülekirjutamisega.

Rakenduse vaikepuhverserver võib piisata, kui kõik osalevad vanad komponendid peaksid seda jagama. Alamklass on selle API-perekonna selgesõnaliseks metaandmete omamiseks. Genereeritud SOAP-kutsed vajavad endiselt oma käitusaegset transpordikonfiguratsiooni. BasicHttpBindingi kliendi puhul kontrollige ProxyAddress ja UseDefaultWebProxy koos.

Seotud artiklid