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 заједно.