WCF .NET Framework-ზე: HTTP GET მეტამონაცემების პროქსის პარამეტრები
დააკონფიგურირეთ WCF მეტამონაცემების ძველი მიღების გზა, მათ შორის HTTP იმპორტები, საბოლოო SOAP სერვისის კლიენტისგან დამოუკიდებლად.
.NET Framework 4.8.1-ზე HTTP GET რეჟიმში WCF მეტამონაცემების მისაღებად დააკონფიგურირეთ უფრო ადრეული მეტამონაცემების მოთხოვნა და არა მხოლოდ საბოლოო 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 ერთად.