2016-08-18 4 views
29

की वर्तमान स्थिति HttpClient की पैकेजिंग के साथ उलझन में है। इससे पहले इसे Microsoft.Http.Net NuGet पैकेज के हिस्से के रूप में वितरित किया गया था जबकि System.Net.Http विरासत माना जाता था। ऐसा लगता है कि यह विपरीत है: सभी प्लेटफार्मों के लिए एक नया System.Net.Http पैकेज है और Microsoft.Net.Http को कुछ समय में अपडेट नहीं किया गया है और माइक्रोसॉफ्ट डेवलपमेंट टीम में लोगों के अनुसार बहिष्कृत किया जा रहा है।System.Net.Http बनाम Microsoft.Net.Http

सवाल तो:

  • हम साथ (नवीनतम) System.Net.HttpMicrosoft.Net.Http NuGet पैकेज पर निर्भरता की जगह कर सकते हैं?
  • विरासत .NET 4.0 प्लेटफार्म अभी भी Microsoft.Net.Http का उपयोग करना चाहिए? गैर-विंडोज प्लेटफ़ॉर्म (आईओएस, एंड्रॉइड) के बारे में क्या? नया System.Net.Http उनका समर्थन करता है, लेकिन मुझे Microsoft.Net.Http के साथ याद है मुझे क्रॉस-प्लेटफ़ॉर्म सामग्री को काम करने के लिए अतिरिक्त Microsoft.Bcl.Build और Microsoft.Bcl इंस्टॉल करना था। System.Net.Http उन पर निर्भर नहीं है। क्या बीसीएल पैकेज छोड़े जा सकते हैं?
  • System.Net.Http में कुछ एचटीपी विस्तार विधियों की कमी है, जैसे SupportsPreAuthenticate, और इन विधि परिणामों को रनटाइम त्रुटियों (गायब विधि) में कॉल करने का प्रयास। हमें इससे कैसे निपटना चाहिए?
+1

[System.Net.Http बनाम Microsoft.Net.Http] का संभावित डुप्लिकेट (http://stackoverflow.com/questions/31053243/system-net-http-vs-microsoft-net-http) – DonO

+1

बस देने के लिए परिवर्तन के लिए एक संभावित कारण: नेटवर्क स्टैक सुविधाओं विंडोज प्लेटफॉर्म और अन्य ओएस के बीच थोड़ा अलग है। उदाहरण के लिए मोनो पर्यावरण में विंडोज के लिए लिखे गए .NET अनुप्रयोग का उपयोग करने में मुझे परेशानी थी। परिवर्तन से संकेत हो सकता है कि आखिर में वास्तव में प्लेटफॉर्म स्वतंत्र होना संभव होगा, यही कारण है कि वे चीजों को सिस्टम नेमस्पेस में ले जाते हैं। .NET कोर से इस Http पैकेज के संदर्भों की तलाश करें, जो आपके प्रश्न का उत्तर दे सकता है। – flohack

उत्तर

6

यह लंबे समय से रहा है और भ्रमित हो रहा है। मैंने खुद को ऐसा संदेश देखा है लेकिन अभी के रूप में, ऐसा लगता है कि System.Net.Http कम से कम विंडोज प्लेटफ़ॉर्म पर .NET के लिए सही विकल्प है और इसमें कोई बाहरी निर्भरता नहीं है।

.NET कोर के लिए, मैंने Microsoft.Net.Http का उपयोग किया है, हालांकि इसे Microsoft.BCL की आवश्यकता है। जब तक आप समस्याओं का सामना नहीं कर रहे हैं, तो मैं सलाह देता हूं कि विरासत प्रणाली को छोड़कर, विशेष रूप से चूंकि ये नामस्थान लक्ष्य को आगे बढ़ रहे हैं।

यदि यह आपके लिए पर्याप्त भ्रमित नहीं है, तो से जुड़े HttpClient SampleWindows.Web.Http का उपयोग करता है! यह कार्यान्वयन विंडोज स्टोर ऐप्स के लिए है।

शायद अगले वर्ष यह सब फिर से बदल जाएगा।

+5

ओएमजी .. क्या हम किसी प्राधिकारी के साथ किसी का जवाब नहीं दे सकते? :( –

संबंधित मुद्दे