HTTP GET মোডে .NET Framework 4.8.1-এ 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 দিয়ে তৈরি করুন এবং WSDL URL-এর জন্য HttpGet মোড ব্যবহার করুন। প্রক্সি অ্যাকাউন্টটি সেই অবজেক্টে রাখুন; মেটাডেটা-সার্ভার প্রমাণীকরণ আলাদা।

মূল WSDL সফল হলেও পরে রেজল্যুশন ব্যর্থ হলে আমদানিগুলো অনুসরণ করুন। অন্যান্য WSDL ও স্কিমা ভিন্ন হোস্ট বা প্রোটোকল ব্যবহার করতে পারে।

অন্য সংগ্রহের মোডের জন্য সংশ্লিষ্ট এক্সটেনশন বেছে নিন। WS-MetadataExchange একটি চ্যানেল ব্যবহার করে, যার তৈরি করার হুক GetChannelFactory; এর binding ও প্রক্সি সেটিংস HttpWebRequest ওভাররাইড দিয়ে সর্বজনীনভাবে প্রতিস্থাপিত হয় না।

একটি ডিফল্ট অ্যাপ্লিকেশন প্রক্সি যথেষ্ট হতে পারে যখন সব অংশগ্রহণকারী পুরোনো উপাদান এটি ভাগ করে নেবে। সাবক্লাসটি এই API পরিবারের মধ্যে স্পষ্ট মেটাডেটা মালিকানার জন্য। উৎপন্ন SOAP কলগুলোর এখনও নিজস্ব রানটাইম ট্রান্সপোর্ট কনফিগারেশন দরকার। BasicHttpBinding ক্লায়েন্টের জন্য, ProxyAddress এবং UseDefaultWebProxy একসাথে দেখুন।

সম্পর্কিত নিবন্ধ