WCF na .NET Framework: postavke proksija za metapodatke HTTP GET
Konfigurišite stari put preuzimanja WCF metapodataka, uključujući HTTP uvoze, odvojeno od konačnog SOAP klijenta usluge.
Za preuzimanje WCF metapodataka u režimu HTTP GET na .NET Framework 4.8.1 konfigurišite raniji zahtev za metapodatke, a ne samo konačni SOAP klijent. Njegova zaštićena GetWebRequest kuka može primeniti odvojeno vođenu rutu:
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;
}
}Tipovi dolaze iz System.Net i System.ServiceModel.Description. Konstruišite ovaj klijent sa predviđenim WebProxy-jem i koristite režim HttpGet za WSDL URL. Stavite račun proksija na taj objekat; autentifikacija servera metapodataka je odvojena.
Pratite uvoze ako korenski WSDL uspe, ali razrešavanje kasnije ne uspe. Drugi WSDL-ovi i šeme mogu koristiti različite hostove ili protokole.
Izaberite odgovarajuće proširenje za drugi režim preuzimanja. WS-MetadataExchange koristi kanal, čija je kuka za stvaranje GetChannelFactory; njegove postavke bindinga i proksija ne zamenjuju se univerzalno nadjačavanjem HttpWebRequest-a.
Podrazumevani proksi aplikacije može biti dovoljan kada ga sve uključene nasleđene komponente treba da dele. Podklasa je za eksplicitno vlasništvo nad metapodacima unutar ove API porodice. Generisani SOAP pozivi i dalje trebaju sopstvenu runtime konfiguraciju transporta. Za BasicHttpBinding klijenta proverite ProxyAddress i UseDefaultWebProxy zajedno.