HTTP GET режимінде .NET Framework 4.8.1-де WCF метадеректерін алу үшін тек соңғы SOAP клиентін ғана емес, ертерек метадеректер сұрауын конфигурациялаңыз. Оның қорғалған GetWebRequest ілгегі бөлек басқарылатын маршрутты қолдана алады:

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

Түрлер System.Net және System.ServiceModel.Description-тен келеді. Бұл клиентті көзделген WebProxy-мен құрып, WSDL URL үшін HttpGet режимін пайдаланыңыз. Прокси тіркелгісін сол нысанға қойыңыз; метадеректер серверінің аутентификациясы бөлек.

Түбірлік WSDL сәтті болып, бірақ шешім кейін сәтсіз болса, импорттарды орындаңыз. Басқа WSDL мен схемалар басқа хосттарды немесе протоколдарды пайдалануы мүмкін.

Басқа алу режимі үшін сәйкес кеңейтімді таңдаңыз. WS-MetadataExchange арнаны пайдаланады, оның құру ілгегі GetChannelFactory; оның binding және прокси параметрлері HttpWebRequest қайта анықтауымен әмбебап түрде ауыстырылмайды.

Барлық қатысушы ескі компоненттер оны бөлісуі керек болса, әдепкі қолданба проксиі жеткілікті болуы мүмкін. Ішкі класс осы API отбасында метадеректерге айқын иелік ету үшін. Жасалған SOAP шақырулары әлі де өздерінің runtime тасымалдау конфигурациясын қажет етеді. BasicHttpBinding клиенті үшін ProxyAddress мен UseDefaultWebProxy бірге тексеріңіз.

Қатысты мақалалар