ສຳລັບການດຶງ metadata ຂອງ WCF ໃນໂໝດ HTTP GET ໃນ .NET Framework 4.8.1, ໃຫ້ຕັ້ງຄ່າຄຳຮ້ອງ metadata ກ່ອນໜ້າ ບໍ່ແມ່ນພຽງແຕ່ SOAP client ສຸດທ້າຍ. hook ທີ່ຖືກປົກປ້ອງ 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. ສ້າງ client ນີ້ດ້ວຍ WebProxy ທີ່ຕັ້ງໃຈ ແລະ ໃຊ້ໂໝດ HttpGet ສຳລັບ URL ຂອງ WSDL. ໃສ່ບັນຊີ proxy ໃສ່ວັດຖຸນັ້ນ; ການພິສູດຢືນຢັນເຊີບເວີ metadata ແມ່ນແຍກຕ່າງຫາກ.

ຕິດຕາມການນຳເຂົ້າ ຖ້າ WSDL ຫຼັກສຳເລັດ ແຕ່ການແກ້ໄຂລົ້ມເຫຼວພາຍຫຼັງ. WSDL ແລະ schema ອື່ນໆອາດໃຊ້ເຈົ້າພາບ ຫຼື ໂປຣໂຕຄອນຕ່າງກັນ.

ເລືອກສ່ວນຂະຫຍາຍທີ່ເໝາະສົມສຳລັບໂໝດການດຶງອື່ນ. WS-MetadataExchange ໃຊ້ຊ່ອງທາງ, ເຊິ່ງ hook ການສ້າງຂອງມັນແມ່ນ GetChannelFactory; ການຕັ້ງຄ່າ binding ແລະ proxy ຂອງມັນບໍ່ຖືກແທນທີ່ເປັນສາກົນໂດຍການຂຽນທັບ HttpWebRequest.

proxy ແອັບພລິເຄຊັນເລີ່ມຕົ້ນອາດພຽງພໍ ເມື່ອອົງປະກອບເກົ່າທຸກຕົວທີ່ເຂົ້າຮ່ວມຄວນແບ່ງປັນມັນ. ຊັ້ນຍ່ອຍແມ່ນສຳລັບຄວາມເປັນເຈົ້າຂອງ metadata ຢ່າງຊັດເຈນໃນຄອບຄົວ API ນີ້. ການເອີ້ນ SOAP ທີ່ສ້າງຂຶ້ນຍັງຕ້ອງການການຕັ້ງຄ່າການຂົນສົ່ງ runtime ຂອງຕົນເອງ. ສຳລັບ client BasicHttpBinding, ກວດເບິ່ງ ProxyAddress ແລະ UseDefaultWebProxy ນຳກັນ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ