Fir WCF-Metadaten an HTTP GET-Modus op .NET Framework 4.8.1 ofzeruffen, konfiguréiert déi fréier Metadaten-Ufro an net just den endgültege SOAP-Client. Seng geschützt GetWebRequest-Hook kann eng separat verwaltete Route uwenden:

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

D'Typen kommen aus System.Net an System.ServiceModel.Description. Baut dëse Client mam virgesinnenen WebProxy a benotzt den HttpGet-Modus fir d'WSDL-URL. Setzt de Proxykont op dat Objet; d'Authentifikatioun um Metadaten-Server ass getrennt.

Follegt den Importen, wann déi root WSDL geléngt, awer d'Aufléisung spéider feelgeet. Aner WSDL an Schemae kënnen aner Hosten oder Protokoller benotzen.

Wielt déi entspriechend Extensioun fir en aneren Ofromm-Modus. WS-MetadataExchange benotzt e Kanal, deem seng Erstellungs-Hook GetChannelFactory ass; seng Binding- an Proxy-Astellungen ginn net universell duerch eng HttpWebRequest-Überschreiwung ersat.

En Default-Applikatiounsproxy kann duergoen, wann all bedeelegt Legacy-Komponenten en deele sollen. D'Unterklass ass fir eng explizit Metadaten-Eegenschaft bannent dëser API-Famill. Generéiert SOAP-Aufruff brauchen nach ëmmer hir eegen Runtime-Transportkonfiguratioun. Fir e BasicHttpBinding-Client, kontrolléiert ProxyAddress an UseDefaultWebProxy zesummen.

Ähnlech Artikelen