WCF на .NET Framework: поставки за прокси на метаподатоци HTTP GET
Конфигурирајте ја старата патека за преземање WCF метаподатоци, вклучително HTTP увози, одделно од крајниот SOAP клиент на услугата.
За преземање WCF метаподатоци во режим HTTP GET на .NET Framework 4.8.1, конфигурирајте го поранешното барање за метаподатоци, а не само крајниот SOAP клиент. Неговата заштитена GetWebRequest кука може да примени одделно управувана рута:
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;
}
}Типовите доаѓаат од System.Net и System.ServiceModel.Description. Конструирајте го овој клиент со предвидениот WebProxy и користете режим HttpGet за WSDL URL-то. Ставете ја сметката за прокси на тој објект; автентикацијата на серверот за метаподатоци е одделна.
Следете ги увозите ако коренскиот WSDL успее, но резолуцијата подоцна не успее. Други WSDL и шеми може да користат различни домаќини или протоколи.
Изберете го соодветното проширување за друг режим на преземање. WS-MetadataExchange користи канал, чија кука за создавање е GetChannelFactory; неговите поставки за binding и прокси не се заменуваат универзално со пребришување на HttpWebRequest.
Стандардното прокси на апликацијата може да биде доволно кога сите вклучени стари компоненти треба да го делат. Подкласата е за експлицитно сопственост на метаподатоци во ова API семејство. Генерираните SOAP повици сè уште бараат сопствена runtime транспортна конфигурација. За BasicHttpBinding клиент, проверете ProxyAddress и UseDefaultWebProxy заедно.