Untuk pengambilan metadata WCF dalam mod HTTP GET pada .NET Framework 4.8.1, konfigurasikan permintaan metadata terdahulu dan bukan hanya klien SOAP akhir. Cangkuk GetWebRequest yang dilindungi boleh menggunakan laluan yang diurus secara berasingan:

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

Jenis-jenis datang daripada System.Net dan System.ServiceModel.Description. Bina klien ini dengan WebProxy yang dimaksudkan dan gunakan mod HttpGet untuk URL WSDL. Letakkan akaun proksi pada objek itu; pengesahan pelayan metadata adalah berasingan.

Ikuti import jika WSDL akar berjaya tetapi penyelesaian gagal kemudian. WSDL dan skema lain boleh menggunakan hos atau protokol berbeza.

Pilih sambungan yang sepadan untuk mod pengambilan lain. WS-MetadataExchange menggunakan saluran, yang cangkuk penciptaannya ialah GetChannelFactory; tetapan binding dan proksinya tidak diganti secara universal oleh penggantian HttpWebRequest.

Proksi aplikasi lalai mungkin mencukupi apabila semua komponen legasi yang mengambil bahagian harus berkongsi. Subkelas adalah untuk pemilikan metadata yang eksplisit dalam keluarga API ini. Seruan SOAP yang dijana masih memerlukan konfigurasi pengangkutan masa jalannya sendiri. Untuk klien BasicHttpBinding, semak ProxyAddress dan UseDefaultWebProxy bersama-sama.

Artikel berkaitan