मैं वर्तमान में क्रॉस प्लेटफ़ॉर्म समर्थन के लिए System.Net.Http.HttpClient का उपयोग कर रहा हूं।प्रति अनुरोध अनुरोध हेडर संशोधित करें C# HttpClient पीसीएल
मैंने पढ़ा है कि प्रत्येक अनुरोध के लिए एक HttpClient ऑब्जेक्ट को चालू करने के लिए यह एक अच्छा अभ्यास नहीं है और जब भी संभव हो, आपको इसका पुन: उपयोग करना चाहिए।
अब सेवा के लिए क्लाइंट लाइब्रेरी लिखते समय मुझे कोई समस्या है। कुछ एपीआई कॉलों को एक विशिष्ट शीर्षलेख होना चाहिए, कुछ में इस विशिष्ट शीर्षलेख को शामिल नहीं करना चाहिए।
ऐसा लगता है कि मैं केवल "DefaultRequestHeaders" में हेरफेर कर सकता हूं जो प्रत्येक अनुरोध के साथ भेजा जाएगा।
क्या वास्तव में अनुरोध के साथ अनुरोध करते समय कोई विकल्प है "क्लाइंट.पोस्टएसिंक()" केवल विशिष्ट अनुरोध के लिए हेडर को संशोधित करने के लिए?
(जानकारी: अनुरोध बहु थ्रेड किए जा सकते हैं)।
अग्रिम धन्यवाद!
@ user2864740 यह अजीब बात है। यह .NET 4.5.1 और पीसीएल संस्करणों दोनों में होना चाहिए https://msdn.microsoft.com/en-us/library/system.net.http.httpclient.sendasync(v=vs.118).aspx –
ओह, मेरी गलती .. मैं 'Get..':} – user2864740
@DarrelMiller पर देख रहा था जब ग्राहक एकाधिक HttpRequestMessages जारी करता है तो क्या होता है? उदाहरण के लिए, एपीआई हिट करने के लिए हेडर में एक्सेस टोकन को पास करने की आवश्यकता है, मैं एक अनुरोध करता हूं और फिर आप एक अनुरोध करते हैं (हम ग्राहक साइट के दोनों उपयोगकर्ता हैं) - HttpClient इंस्टेंस को इसके स्थिर होने के बाद अनुरोधों के बीच साझा किया जाता है । आइए कहें कि मेरा अनुरोध आपके से अधिक समय लेता है, क्या इससे समस्याएं पैदा होती हैं? – crizzwald