HttpClient
का उपयोग करते समय मैं सर्वोत्तम प्रथाओं के बारे में बहुत कुछ पढ़ रहा हूं। अधिकांश लोग इसे आवेदन के जीवनकाल के लिए पुन: उपयोग करने की सलाह देते हैं, भले ही यह IDisposable
है।विभिन्न उपयोगकर्ताओं के लिए HttpClient का पुन: उपयोग
मेरा वेब एप्लिकेशन फेसबुक एपीआई एपीआई, ट्विटर एपीआई और इंस्टाग्राम एपीआई जैसे विभिन्न एपीआई के साथ संचार कर रहा है।
योजना प्रत्येक एपीआई के लिए एक व्यक्तिगत एचटीपी क्लाइंट बनाने के लिए है, जिसकी सिफारिश की जाती है, क्योंकि इसकी सिफारिश की जाती है, क्योंकि तब मैं कुछ शीर्षकों का पुन: उपयोग कर सकता हूं।
लेकिन अब सवाल के लिए, चलिए ट्विटर एपीआई को एक उदाहरण के रूप में लेते हैं, मेरे वेब एप्लिकेशन का उपयोग करने वाले प्रत्येक उपयोगकर्ता का अपना प्राधिकरण शीर्षलेख (उपयोगकर्ता बाध्य एक्सेस टोकन) होता है। मेरा मानना है कि इसका मतलब है कि मैं HttpClient
ऑब्जेक्ट के DefaultRequestHeaders को प्राधिकरण शीर्षलेख सेट नहीं कर सकता।
विभिन्न उपयोगकर्ताओं के लिए HttpClient
का पुन: उपयोग करने के लिए सबसे अच्छा अभ्यास क्या है, जिनके पास विभिन्न प्राधिकरण शीर्षलेख हैं?
मैं प्रत्येक अनुरोध के लिए एक HttpRequestMessage
वस्तु बना सकते हैं और बजाय डिफ़ॉल्ट एक, httpClient.DefaultRequestHeaders.Authorization
करने के लिए इसे स्थापित करने की, httpRequestMessage वस्तु पर प्राधिकरण हैडर सेट सकते हैं?
धन्यवाद।
धन्यवाद, यही वही है जो मैं करने की योजना बना रहा था। क्या आपको पता है कि SendAsync समाप्त होने के बाद HttpRequestMessage ऑब्जेक्ट को निपटाने के लिए हानिकारक है या नहीं? – raRaRa
@raRaRa - आपका स्वागत है। HttpRequestMessage IDISposable लागू करता है क्योंकि सामग्री प्रॉपर्टी का HttpContent प्रकार एक IDisposable है। मुझे कोई कारण नहीं दिखता है कि एक निपटान को किसी नुकसान का कारण क्यों होना चाहिए (विशेष रूप से कॉल प्राप्त करने के लिए)। लेकिन मैंने सीधे HttpRequestMessage उदाहरणों का निपटान करने में कोई पहला हाथ अनुभव नहीं किया है। –