ለ.NET Framework 4.8.1 የWCF ሜታዳታ ማምጣት በHTTP GET ሁነታ፣ የመጀመሪያውን የሜታዳታ ጥያቄ ያዋቅሩ እንጂ የመጨረሻውን 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 ከተሳካ ግን መፍትሄው በኋላ ካልተሳካ importsን ይከተሉ። ሌሎች WSDLዎችና ስክሚዎች የተለያዩ አስተናጋጆች ወይም ፕሮቶኮሎች ሊጠቀሙ ይችላሉ።

ለሌላ የማምጣት ሁነታ ተመሳሳዩን ቅጥያ ይምረጡ። WS-MetadataExchange ቻናል ይጠቀማል፤ የፍጥረቱ መንጠቆ GetChannelFactory ነው፤ የእሱ bindingና ፕሮክሲ ቅንብሮች በHttpWebRequest መተካት በሁሉም ቦታ አይተኩም።

ነባሪ የመተግበሪያ ፕሮክሲ ሁሉም ተሳታፊ አሮጌ ክፍሎች አንድ ላይ ሲጋሩት በቂ ሊሆን ይችላል። ንዑስ ክፍሉ በዚህ API ቤተሰብ ውስጥ ግልጽ የሜታዳታ ባለቤትነት ነው። የተፈጠሩ SOAP ጥሪዎች አሁንም የራሳቸውን የruntime ማጓጓዣ ውቅር ይፈልጋሉ። ለBasicHttpBinding ደንበኛ፣ ProxyAddress እና UseDefaultWebProxy አብረው ይመልከቱ።

ተዛማጅ ጽሑፎች