WCF ar .NET Framework: gosodiadau dirprwy metadata HTTP GET
Ffurfweddwch y llwybr casglu metadata WCF hŷn, gan gynnwys mewnforion HTTP, ar wahân i'r cleient gwasanaeth SOAP terfynol.
Ar gyfer casglu metadata WCF yn y modd HTTP GET ar .NET Framework 4.8.1, ffurfweddwch y cais metadata cynharach yn hytrach na'r cleient SOAP terfynol yn unig. Gall ei fachyn gwarchodedig GetWebRequest gymhwyso llwybr a reolir ar wahân:
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;
}
}Daw'r mathau o System.Net a System.ServiceModel.Description. Adeiladwch y cleient hwn gyda'r WebProxy a fwriadwyd a defnyddiwch y modd HttpGet ar gyfer URL y WSDL. Rhowch y cyfrif dirprwy ar y gwrthrych hwnnw; mae dilysu'r gweinydd metadata ar wahân.
Dilynwch fewnforion os yw'r WSDL gwraidd yn llwyddo ond mae'r datrysiad yn methu'n ddiweddarach. Gall WSDLs a sgemiau eraill ddefnyddio gwesteiwyr neu brotocolau gwahanol.
Dewiswch yr estyniad cyfatebol ar gyfer modd casglu arall. Mae WS-MetadataExchange yn defnyddio sianel, a'i fachyn creu yw GetChannelFactory; nid yw ei osodiadau binding a dirprwy yn cael eu disodli'n gyffredinol gan drosiad HttpWebRequest.
Gall dirprwy rhaglen ragosodedig fod yn ddigon pan ddylai pob cydran etifeddol sy'n cymryd rhan ei rannu. Mae'r is-ddosbarth ar gyfer perchnogaeth metadata benodol o fewn y teulu API hwn. Mae galwadau SOAP a gynhyrchwyd yn dal i fod angen eu ffurfwedd cludo amser rhedeg eu hunain. Ar gyfer cleient BasicHttpBinding, gwiriwch ProxyAddress a UseDefaultWebProxy gyda'i gilydd.