Para sa pagkuha ng metadata ng WCF sa mode na HTTP GET sa .NET Framework 4.8.1, i-configure ang naunang kahilingan ng metadata at hindi lamang ang huling kliyente ng SOAP. Ang protektadong hook na GetWebRequest nito ay maaaring maglapat ng hiwalay na pinapamahalaang ruta:

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

Ang mga uri ay nagmumula sa System.Net at System.ServiceModel.Description. Buuin ang kliyenteng ito gamit ang inilaang WebProxy at gamitin ang mode na HttpGet para sa URL ng WSDL. Ilagay ang account ng proxy sa bagay na iyon; hiwalay ang pagpapatotoo sa server ng metadata.

Sundin ang mga import kung nagtagumpay ang root WSDL ngunit nabigo ang resolusyon mamaya. Ang iba pang WSDL at schema ay maaaring gumamit ng ibang host o protocol.

Piliin ang kaukulang extension para sa ibang mode ng pagkuha. Gumagamit ang WS-MetadataExchange ng channel, na ang hook ng paglikha ay GetChannelFactory; ang mga setting ng binding at proxy nito ay hindi pangkalahatang pinapalitan ng isang override ng HttpWebRequest.

Maaaring sapat ang default na proxy ng application kapag dapat itong ibahagi ng lahat ng kalahok na legacy na component. Ang subclass ay para sa tahasang pagmamay-ari ng metadata sa loob ng pamilyang API na ito. Ang mga nabuong tawag sa SOAP ay kailangan pa rin ng sarili nilang configuration ng transport sa runtime. Para sa kliyenteng BasicHttpBinding, suriin ang ProxyAddress at UseDefaultWebProxy nang magkasama.

Kaugnay na mga artikulo