WCF a .NET Frameworkön: HTTP GET metaadat-proxybeállítások
Állítsa be a régi WCF-metaadat-lekérési útvonalat, beleértve a HTTP-importokat is, a végső SOAP-szolgáltatásügyféltől elkülönítve.
A WCF-metaadatok HTTP GET módú lekéréséhez a .NET Framework 4.8.1-en a korábbi metaadat-kérést állítsa be, ne csak a végső SOAP-ügyfelet. Védett GetWebRequest horga külön kezelt útvonalat alkalmazhat:
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;
}
}A típusok a System.Net és a System.ServiceModel.Description névtérből származnak. Hozza létre ezt az ügyfelet a kívánt WebProxyval, és használja a HttpGet módot a WSDL URL-hez. Helyezze a proxyfiókot arra az objektumra; a metaadat-kiszolgáló hitelesítése külön történik.
Kövesse az importokat, ha a gyökér-WSDL sikeres, de a feloldás később meghiúsul. Más WSDL-ek és sémák eltérő gazdagépeket vagy protokollokat használhatnak.
Válassza a megfelelő bővítményt egy másik lekérési módhoz. A WS-MetadataExchange csatornát használ, amelynek létrehozási horga GetChannelFactory; kötési és proxybeállításait nem váltja fel általánosan a HttpWebRequest felülírása.
Egy alapértelmezett alkalmazásproxy elegendő lehet, ha minden részt vevő régi összetevőnek meg kell osztania. Az alosztály az ezen API-családon belüli kifejezett metaadat-tulajdonlást szolgálja. A generált SOAP-hívásoknak továbbra is saját futásidejű átviteli konfigurációra van szükségük. BasicHttpBinding-ügyfél esetén ellenőrizze a ProxyAddress és UseDefaultWebProxy együttes használatát.