WCF lori .NET Framework: awọn ètò aṣojú metadata HTTP GET
Ṣètò ọ̀nà ìgbà àtijọ́ fún gbígba metadata WCF, pẹ̀lú àwọn ìkójọ HTTP, lọ́tọ̀ọ̀tọ̀ sí ẹrọ ìsìn SOAP ìkẹyìn.
Fún gbígba metadata WCF ní ipò HTTP GET lori .NET Framework 4.8.1, ṣètò ìbéèrè metadata àkọ́kọ́ dípò ẹrọ ìsìn SOAP ìkẹyìn nìkan. Kóòkì ààbò rẹ̀ GetWebRequest lè fi ọ̀nà tí a ń ṣàkóso lọ́tọ̀ọ̀tọ̀ sílò:
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;
}
}Àwọn irú wá láti System.Net àti System.ServiceModel.Description. Kọ́ ẹrọ ìsìn yìí pẹ̀lú WebProxy tí a pinnu kí o sì lo ipò HttpGet fún URL WSDL. Fi àkọsílẹ̀ aṣojú sórí ohun yẹn; ìjẹ́rìí olùpèsè metadata yàtọ̀.
Tẹ̀lé àwọn ìkójọ tí WSDL gbòǹgbò bá ṣàṣeyọrí ṣùgbọ́n ìyọnrọ̀ kùnà lẹ́yìn náà. Àwọn WSDL àti ẹ̀kọ́ mìíràn lè lo olùgbàlejò tàbí ìlànà mìíràn.
Yan àfikún tó bá a mu fún ipò gbígba mìíràn. WS-MetadataExchange ń lo ọ̀nà ìsọ̀rọ̀ kan, tí kóòkì ìdá rẹ̀ jẹ́ GetChannelFactory; àwọn ètò binding àti aṣojú rẹ̀ kì í ṣe àyípadà káríayé nípasẹ̀ àtúnyẹ̀wò HttpWebRequest.
Aṣojú ohun èlò àìpé lè tó nígbà tí gbogbo àwọn ẹ̀yà àtijọ́ tí ó kópa yẹ kí wọ́n pín ín. Ẹ̀kọ́ abẹ́lẹ̀ jẹ́ fún nínú ohun-ìní metadata kedere nínú ìdílé API yìí. Àwọn ìpè SOAP tí a ṣẹ̀dá ṣì nílò ìṣètò gbígbé àkókò ṣíṣe tiwọn. Fún ẹrọ ìsìn BasicHttpBinding, ṣàyẹ̀wò ProxyAddress àti UseDefaultWebProxy papọ̀.