WCF v .NET Framework: nastavitve proxyja za metapodatke HTTP GET
Konfigurirajte starejšo pot pridobivanja metapodatkov WCF, vključno z uvozi HTTP, ločeno od končnega odjemalca storitve SOAP.
Za pridobivanje metapodatkov WCF v načinu HTTP GET v .NET Framework 4.8.1 konfigurirajte prejšnjo zahtevo za metapodatke in ne le končnega odjemalca SOAP. Njegov zaščiteni kavelj GetWebRequest lahko uporabi ločeno upravljano pot:
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;
}
}Tipi prihajajo iz System.Net in System.ServiceModel.Description. Zgradite tega odjemalca z želenim WebProxy in uporabite način HttpGet za URL WSDL. Račun proxyja postavite na ta objekt; preverjanje pristnosti strežnika metapodatkov je ločeno.
Sledite uvozom, če korenski WSDL uspe, a razrešitev pozneje ne uspe. Drugi WSDL in sheme lahko uporabljajo drugačne gostitelje ali protokole.
Za drug način pridobivanja izberite ustrezno razširitev. WS-MetadataExchange uporablja kanal, katerega kavelj za ustvarjanje je GetChannelFactory; njegove nastavitve povezave in proxyja se ne nadomestijo vsesplošno s prepisom HttpWebRequest.
Privzeti proxy aplikacije lahko zadostuje, ko ga morajo deliti vse sodelujoče starejše komponente. Podrazred je za izrecno lastništvo metapodatkov v tej družini API. Ustvarjeni klici SOAP še vedno potrebujejo lastno konfiguracijo prenosa v času izvajanja. Za odjemalca BasicHttpBinding preverite ProxyAddress in UseDefaultWebProxy skupaj.