WCF kwenye .NET Framework: mipangilio ya proksi ya metadata ya HTTP GET
Sanidi njia ya zamani ya upatikanaji wa metadata za WCF, ikijumuisha uagizaji wa HTTP, tofauti na mteja wa huduma ya SOAP wa mwisho.
Kwa upatikanaji wa metadata za WCF katika hali ya HTTP GET kwenye .NET Framework 4.8.1, sanidi ombi la awali la metadata badala ya mteja wa SOAP wa mwisho pekee. Ndoano yake iliyolindwa GetWebRequest inaweza kutumia njia inayosimamiwa kando:
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;
}
}Aina hizo zinatoka System.Net na System.ServiceModel.Description. Tengeneza mteja huyu kwa WebProxy inayokusudiwa na tumia hali ya HttpGet kwa URL ya WSDL. Weka akaunti ya proksi kwenye kitu hicho; uthibitishaji wa seva ya metadata ni tofauti.
Fuata uagizaji ikiwa WSDL ya mzizi inafanikiwa lakini utatuzi unashindikana baadaye. WSDL na skema nyingine zinaweza kutumia majeshi au itifaki tofauti.
Chagua kiendelezi kinacholingana kwa hali nyingine ya upatikanaji. WS-MetadataExchange hutumia chaneli, ambayo ndoano yake ya uundaji ni GetChannelFactory; mipangilio yake ya binding na proksi haibadilishwi kwa ujumla na ubatilishaji wa HttpWebRequest.
Proksi ya programu ya chaguo-msingi inaweza kutosha wakati vipengele vyote vya zamani vinavyoshiriki vinapaswa kuishiriki. Klasa ndogo ni kwa umiliki wa wazi wa metadata ndani ya familia hii ya API. Miito ya SOAP iliyotengenezwa bado inahitaji usanidi wake wa usafirishaji wa wakati wa utekelezaji. Kwa mteja wa BasicHttpBinding, angalia ProxyAddress na UseDefaultWebProxy pamoja.